2020-01-28 使用PaddlePaddle进行矩阵计算(二)

# 一中写的内容为使用固定的值,进行矩阵的计算,二中使用的则是变量进行的矩阵计算

# 引入所需要的包 paddle 为PaddlePaddle包,numpy为数学计算包,支持大量的维度数组与矩阵运算,此外也针对数#组运算提供大量的数学函数库

import paddle.fluid as fluid

import numpy as np

# 创建两个类型为int64(长整型)张量,并且进行命名,分别为name=c和d,创建的变量为:a和b,name可以根据需要,自己命名。

a= fluid.layers.create_tensor(dtype='int64',name='c')

b= fluid.layers.create_tensor(dtype='int64',name='d')

#sum  该OP用于对输入的一至多个Tensor或LoDTensor求和。如果输入的是LoDTensor,输出仅与第一个输入共享LoD信息(序列信息)

y=fluid.layers.sum(x=[a,b])

# 对变量初始化

a1=np.array([8,2]).astype('int64')

b1=np.array([1,9]).astype('int64')


# 创建一个使用CPU的解释器

place = fluid.CPUPlace()

exe = fluid.executor.Executor(place)

# 进行参数初始化

exe.run(fluid.default_startup_program())

#以下变量中的c和d与,定义中的name值必须一致,才能取到数据(即表示使用a1中的数据赋值给name为c的变量,b1同样),fetch_list中为所有定义的变量值 fetch_list中的顺序,影响exe.run中的返回结果顺序。

out_a, out_b, out_y= exe.run(program=fluid.default_main_program(),

                              feed={'c': a1, 'd': b1},

                              fetch_list=[a, b, y])

print(out_a, " + ", out_b," = ", out_y)

打印为:

[8 2] + [1 9] = [ 9 11]

若修改顺序为:

out_a, out_b, out_y= exe.run(program=fluid.default_main_program(),

                              feed={'c': a1, 'd': b1},

                              fetch_list=[y,a, b])

print(out_a, " + ", out_b," = ", out_y)

则打印结果为:

[ 9 11] + [8 2] = [1 9]

你可能感兴趣的:(2020-01-28 使用PaddlePaddle进行矩阵计算(二))