自定义python 算子,在调用时出现以下报错:
(AlreadyExists) Op deps are not empty before preparing it for backward network execution.
[Hint: Expected node_deps_.empty() == true, but received node_deps_.empty():0 != true:1.] (at /paddle/paddle/fluid/imperative/basic_engine.cc:239)
就算把自定义算子改写成什么都不做,也是同样的报错:
class M(PyLayer):
@staticmethod
def forward(ctx, x):
return x
@staticmethod
def backward(ctx, dy):
return dy
1)PaddlePaddle版本:PaddlePaddle 2.1.2
2)CPU/GPU:GPU
3)Python3.7
7条答案
按热度按时间rjjhvcjd1#
您好,我们已经收到了您的问题,会安排技术人员尽快解答您的问题,请耐心等待。请您再次检查是否提供了清晰的问题描述、复现代码、环境&版本、报错信息等。同时,您也可以通过查看官网API文档、常见问题、历史Issue、AI社区来寻求解答。祝您生活愉快~
Hi! We've received your issue and please be patient to get responded. We will arrange technicians to answer your questions as soon as possible. Please make sure that you have posted enough message to demo your request. You may also check out the API,FAQ,Github Issue and AI community to get the answer.Have a nice day!
k3bvogb12#
@youlingforever0328 �您好,请问能否提供自定义算子的源码,这段报错看起来是执行反向时,由于反向的逻辑是拓扑排序,创建入度统计时出错,所以想知道您这边源码的形式
llycmphe3#
然而我将前向反向的代码都删除了,什么都不做也是报同样的错误:
并且paddle文档里 自定义python算子部分的示例代码运行也是报同样的错误
vbopmzt14#
@youlingforever0328 您好,文档目前没法复现bug
mbyulnm05#
您好,目前没有复现出来,方便提供完整的单机可以运行的代码吗?@youlingforever0328
puruo6ea6#
我把paddle自定义python算子文档上的例程代码贴上去也运行不了,报错. 这是教程文档的代码:
daolsyd07#
对于第一段代码报错,应该是使用inplace操作的问题,建议将backward返回值改成红框中代码。
《paddle自定义python算子文档上的例程代码》仍然没有复现,建议新建一个文件运行代码,以排除其他代码的影响。