Giter Site home page Giter Site logo

fasterrcnn导出模型时报错RuntimeError: Can't call main_program when full_graph=False. Use paddle.jit.to_static(full_graph=True) instead. about paddledetection HOT 3 CLOSED

PlayerJian avatar PlayerJian commented on July 18, 2024
fasterrcnn导出模型时报错RuntimeError: Can't call main_program when full_graph=False. Use paddle.jit.to_static(full_graph=True) instead.

from paddledetection.

Comments (3)

lyuwenyu avatar lyuwenyu commented on July 18, 2024

参考这个改一下
#8762

from paddledetection.

PlayerJian avatar PlayerJian commented on July 18, 2024

设置full_graph=True之后报这个错,咋回事

Traceback (most recent call last):
  File "E:\workspace\project\pro_paddle\PaddleDetection\tools\export_model.py", line 110, in <module>
    main()
  File "E:\workspace\project\pro_paddle\PaddleDetection\tools\export_model.py", line 106, in main
    run(FLAGS, cfg)
  File "E:\workspace\project\pro_paddle\PaddleDetection\tools\export_model.py", line 73, in run
    trainer.export(FLAGS.output_dir)
  File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\engine\trainer.py", line 1170, in export
    static_model, pruned_input_spec = self._get_infer_cfg_and_input_spec(
  File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\engine\trainer.py", line 1130, in _get_infer_cfg_and_input_spec
    input_spec, static_model.forward.main_program,
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 1062, in main_program
    concrete_program = self.concrete_program
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 941, in concrete_program
    return self.concrete_program_specify_input_spec(input_spec=None)
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 986, in concrete_program_specify_input_spec
    concrete_program, _ = self.get_concrete_program(
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 875, in get_concrete_program
    concrete_program, partial_program_layer = self._program_cache[
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 1648, in __getitem__
    self._caches[item_id] = self._build_once(item)
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 1575, in _build_once
    concrete_program = ConcreteProgram.from_func_spec(
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\base\wrapped_decorator.py", line 26, in __impl__
    return wrapped_func(*args, **kwargs)
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\base\dygraph\base.py", line 68, in __impl__
    return func(*args, **kwargs)
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\program_translator.py", line 1346, in from_func_spec
    error_data.raise_new_exception()
  File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\jit\dy2static\error.py", line 452, in raise_new_exception
    raise new_exception from None
IndexError: In transformed code:

    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\meta_arch.py", line 59, in forward
	if self.training:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\meta_arch.py", line 69, in forward
	for inp in inputs_list:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\meta_arch.py", line 76, in forward
	outs.append(self.get_pred())
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\faster_rcnn.py", line 121, in get_pred
	if self.use_extra_data:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\faster_rcnn.py", line 125, in get_pred
	bbox_pred, bbox_num = self._forward()
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\faster_rcnn.py", line 79, in _forward
	if self.training:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\architectures\faster_rcnn.py", line 89, in _forward
	bbox, bbox_num, nms_keep_idx = self.bbox_post_process(preds, (rois, rois_num),
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\post_process.py", line 68, in __call__
	if self.nms is not None:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\post_process.py", line 69, in __call__
	bboxes, score = self.decode(head_out, rois, im_shape, scale_factor)
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\layers.py", line 461, in __call__
	if self.export_onnx:
    File "E:\workspace\project\pro_paddle\PaddleDetection\ppdet\modeling\layers.py", line 463, in __call__
        if self.export_onnx:

            onnx_rois_num_per_im = rois_num[0]
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
            origin_shape = paddle.expand(im_shape[0, :],
                                         [onnx_rois_num_per_im, 2])

    File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\base\framework.py", line 2500, in __getitem__
	return _getitem_static(self, item)
    File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\base\variable_index.py", line 800, in _getitem_static
	) = parse_index(x, indices)
    File "D:\anaconda3\envs\paddle_gpu\lib\site-packages\paddle\base\variable_index.py", line 300, in parse_index
	and x.shape[dim] is not None

    IndexError: tuple index out of range

from paddledetection.

lyuwenyu avatar lyuwenyu commented on July 18, 2024

你用的那个模型 修改啥了嘛

from paddledetection.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.