- 两个常量a,b,可以看作一个占位,最终需要喂给这个占位数据,要做的是定义这个占位的数据类型,名称
- 通过创建最终numpy数据,设置feed={‘a’: a1, ‘b’: b1},把a1,b1喂给了a,b两个占位
- fetch_list=[a, b, y]则返回这三个操作的数据回来
fluid.layers.create_tensor:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/create_tensor_cn.html#create-tensor
import paddle.fluid as fluid
import numpy as np
# 创建2个变量
a = fluid.layers.create_tensor(dtype='int64', name='a')
b = fluid.layers.create_tensor(dtype='int64', name='b')
# 对变量进行sum算子操作
y = fluid.layers.sum(x=[a, b])
if_cuda = False
place = fluid.CUDAPlace(0) if if_cuda else fluid.CPUPlace()
exe = fluid.executor.Executor(place)
# 进行参数初始化
exe.run(fluid.default_startup_program())
# 定义两个要计算的变量的最终计算值
a1 = np.array([3, 2]).astype('int64')
b1 = np.array([555, 1]).astype('int64')
# 希望把a, b, y的值都输出来,fetch_list=[a, b, y]
# 接受的受体是:out_a, out_b, result
out_a, out_b, result =exe.run(program=fluid.default_main_program(),
feed={'a': a1, 'b': b1},
fetch_list=[a, b, y])
print(out_a, " + ", out_b, " = ", result)
'''
[3 2] + [555 1] = [558 3]
'''