动态图模式下,静态图OP和动态图OP生成的uniqe name不一致
Created by: wanghaoshuang
因为上述链接中的条件分支,在动态图模式下,会在C++端添加OP, 并生成output variable, 如果用户不指定output variable的命名,会自动生成一个variable name, 生成name用的自增ID和python端是独立的,也就是会出现以下情况:
linear = Linear()
out1 = linear(input) # C++端生成tmp_0
out2 = fluid.layers.fc(input) # Python端生成的tmp_0
其中:
out1.name == out2.name == "tmp_0"
python端自动生成unique name代码:https://github.com/PaddlePaddle/Paddle/blob/f5d76b50ec90110cd6df84c38538b8d5c40eb2a0/python/paddle/fluid/net_drawer.py#L55