使用backward反向计算梯度时报错
收藏
Paddle版本:2.1.1 with GPU 使用paddle.jit.load载入预先训练好的模型后进行预测,但在反向计算梯度的时候报错: loss.backward() File "", line 2, in backward File "/mnt/opt/anaconda2/envs/perce/lib/python3.7/site-packages/paddle/fluid/wrapped_decorator.py", line 25, in __impl__ return wrapped_func(*args, **kwargs) File "/mnt/opt/anaconda2/envs/perce/lib/python3.7/site-packages/paddle/fluid/framework.py", line 227, in __impl__ return func(*args, **kwargs) File "/mnt/opt/anaconda2/envs/perce/lib/python3.7/site-packages/paddle/fluid/dygraph/varbase_patch_methods.py", line 239, in backward framework._dygraph_tracer()) ValueError: (InvalidArgument) The OutScope of RunProgramGradOp should hold at least one sub scope. [Hint: Expected sub_scope_num 0, but received sub_scope_num:0 = 0:0.] (at /paddle/paddle/fluid/operators/run_program_op.h:283) 看起来是因为没有创建子对象域,尝试过使用fluid.digraph.guard()创建scope但是错误依然存在。请问大佬们有人遇到过类似的问题么?感激不尽。
0
收藏
请登录后评论
模型版本是多少?
模型用的paddlehub的预训练yolov3_darknet53, 版本1.0.2
试试1.8环境
1.8环境似乎也不行, 还是报同样的错误
这个东西不同版本不兼容的,最好可以知道他是什么版本的。
是说开发模型时候的paddle版本和当前环境的paddle版本不兼容吗?
是的。
进行预测为什么还要计算反向梯度呢?