[新人提问]exe.run()的fetch
erzhuoran 发布于2020-02-02 14:35 浏览:442 回复:11
0
收藏

跟着公众号读心术学的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
个赞
共11条回复 最后由自尊心3回复于2020-04-26 23:57
#12自尊心3回复于2020-04-26 23:57:32
#11 鹿鼎记肯定回复
.name不加影响也不大,fetch_list是把值作为输出结果

大概就是这个意思

0
#11鹿鼎记肯定回复于2020-04-26 14:06:38
#9 自尊心3回复
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里面传进去的是变量名,不是变量本身  
展开

.name不加影响也不大,fetch_list是把值作为输出结果

0
#10自尊心3回复于2020-04-26 12:31:50

https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/elementwise_add_cn.html#cn-api-fluid-layers-elementwise-add

0
#9自尊心3回复于2020-04-26 12:31:30

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里面传进去的是变量名,不是变量本身

 

0
#8smile若溪666回复于2020-04-26 10:53:14
#7 鹿鼎记肯定回复
你试着按照5楼要求改一下

不行哟

 

0
#7鹿鼎记肯定回复于2020-04-26 03:13:16
#6 smile若溪666回复
我也是这个问题  

你试着按照5楼要求改一下

0
#6smile若溪666回复于2020-04-25 22:52:17

我也是这个问题

 

0
#5鹿鼎记肯定回复于2020-04-19 14:03:20

把第二个exe.run中的program=fluid.default_startup_program()改成program=fluid.default_main_program()即可

 

0
#4无限Mebius回复于2020-02-10 23:42:36

同样的问题,请问解决了嘛

0
#3erzhuoran回复于2020-02-03 12:58:24

顶一下

0
#2erzhuoran回复于2020-02-02 16:12:52

顶一下

0
TOP
切换版块