[新人提问]exe.run()的fetch
收藏
跟着公众号读心术学的paddle入门,照着那里面的程序打的,然后运行报错
源码:
a = fluid.layers.fill_constant(shape=[2, 2], value=1, dtype='int64')
b = fluid.layers.fill_constant(shape=[2, 2], value=1, dtype='int64')
result = fluid.layers.elementwise_add(a, b)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
myresult = exe.run(program=fluid.default_startup_program(), fetch_list=[result]) #
print(myresult)
然后出现报错:
Error Message Summary:
----------------------
Error: Cannot find fetch variable in scope, fetch_var_name is elementwise_add_0 at (D:\1.6.3\paddle\paddle\fluid\operators\controlflow\fetch_op.cc:38)
[operator < fetch > error]
请教一下大佬们这个是哪的错误
0
收藏
请登录后评论
顶一下
顶一下
同样的问题,请问解决了嘛
把第二个exe.run中的program=fluid.default_startup_program()改成program=fluid.default_main_program()即可
我也是这个问题
你试着按照5楼要求改一下
不行哟
import paddle.fluid as fluid
import numpy as np
def gen_data():
return {
"x": np.array([2, 3, 4]),
"y": np.array([1, 5, 2])
}
x = fluid.layers.data(name="x", shape=[3], dtype='float32')
y = fluid.layers.data(name="y", shape=[3], dtype='float32')
z = fluid.layers.elementwise_add(x, y)
# z = x + y
place = fluid.CPUPlace()
exe = fluid.Executor(place)
z_value = exe.run(feed=gen_data(),
fetch_list=[z.name])
print(z_value) # [3., 8., 6.]
fetch_list里面传进去的是变量名,不是变量本身
https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/elementwise_add_cn.html#cn-api-fluid-layers-elementwise-add
.name不加影响也不大,fetch_list是把值作为输出结果
大概就是这个意思
最近我也遇到了这个问题,不知是不是平台的问题,本来就想着运行例程玩一下,结果却是一直产生报错,一直在exe.run()的初始化那里显示错误,后来运行了一下这一段代码后,发现其他的例程似乎也可以运行了,真是摸不着头脑啊,hhh……
那段代码如下:
##程序初始化##
# paddle.enable_static()
# main_program = paddle.static.Program()
# startup_program = paddle.static.Program()
希望我的情况能够对其他遇到这类BUG的朋友们有所帮助吧!
最近我也遇到了这个问题,不知是不是平台的问题,本来就想着运行下例程玩一下,结果却是一直产生报错,一直在exe.run()的初始化那里显示错误,后来运行了一下下面两段代码后,发现其他的例程似乎也可以运行了,真是摸不着头脑啊,hhh……
那段代码如下:
##代码段1##
import paddle
paddle.enable_static()
main_program = paddle.static.Program()
startup_program = paddle.static.Program()
with paddle.static.program_guard(main_program, startup_program):
data = paddle.static.data(name='image', shape=[None, 784, 784], dtype='float32')
hidden = paddle.static.nn.fc(x=data, size=10, activation='relu')
##代码段2##
paddle.enable_static()
main_program = paddle.static.Program()
startup_program = paddle.static.Program()
希望我的情况能够对其他遇到这类BUG的朋友们有所帮助吧!
解决了吗,是什么问题呢
怎么解决
fetch_list不是接收对象,result才得到结果吗,现在到底该怎么解决呢