# 引入所需要的包 paddle 为PaddlePaddle包,numpy为数学计算包,支持大量的维度数组与矩阵运算,此外也针对数#组运算提供大量的数学函数库
import paddle.fluid as fluid
import numpy as np
# 定义两个矩阵,矩阵为:2*2,每个矩阵的初始值不一样,设定类型为:int64或float32,value为初始值
x1 = fluid.layers.fill_constant(shape=[2,2],value=2,dtype='float32')
x2 = fluid.layers.fill_constant(shape=[2,2],value=10,dtype='float32')
# 进行参数初始化
#default_startup_program() 该函数可以获取默认/全局 startup Program (初始化启动程序)。
#run(program=None, feed=None, fetch_list=None, feed_var_name='feed', fetch_var_name='fetch', scope=None, return_numpy=True, use_program_cache=False)
#参数:
#program (Program|CompiledProgram) – 该参数为被执行的Program或CompiledProgram,如果未提供该参数,#即该参数为None,在该接口内,main_program将被设置为fluid.default_main_program()。默认为:None。
#feed (list|dict) – 该参数表示模型的输入变量。如果是单卡训练,feed 为 dict 类型,如果是多卡训练,参#数 feed 可以是 dict 或者 list 类型变量,如果该参数类型为 dict ,feed中的数据将会被分割(split)并分送给多个设备#(CPU/GPU),即输入数据被均匀分配到不同设备上;如果该参数类型为 list ,则列表中的各个元素都会直接分#别被拷贝到各设备中。默认为:None。
#fetch_list (list) – 该参数表示模型运行之后需要返回的变量。默认为:None。
#feed_var_name (str) – 该参数表示数据输入算子(feed operator)的输入变量名称。默认为:"feed"。
#fetch_var_name (str) – 该参数表示结果获取算子(fetch operator)的输出变量名称。默认为:"fetch"。
#scope (Scope) – 该参数表示执行当前program所使用的作用域,用户可以为不同的program指定不同的作用域。#默认值:fluid.global_scope()。
#return_numpy (bool) – 该参数表示是否将返回返回的计算结果(fetch list中指定的变量)转化为numpy;如果为#False,则每个变量返回的类型为LoDTensor,否则返回变量的类型为numpy.ndarray。默认为:True。
#use_program_cache (bool) – 该参数表示是否对输入的Program进行缓存。如果该参数为True,在以下情况时,模型运行速度可能会更快:输入的program为 fluid.Program ,并且模型运行过程中,调用该接口的参数#(program、 feed变量名和fetch_list变量)名始终不变。默认为:False。
#返回:返回fetch_list中指定的变量值
exe.run(fluid.default_startup_program())
# 运行程序 执行参数并返回结果
/* 以下为:default_main_program() 说明 此接口可以获取当前用于存储op和variable描述信息的 default main program
#fluid.layers 接口中添加的op和variable会存储在 default main program 中default main program 是fluid的许多编程接口中Program参数的默认值。例如对于 Executor.run() 如果用户没有传入Program参数,会默认使用 default main program
此函数无参数
返回: 当前默认用于存储op和variable描述的Program
*/
result = exe.run(program=fluid.default_main_program(),
fetch_list=[y1])
# 打印矩阵中的数据,若想打印内容,为[0][0]或转为narray
print(result)
输出结果为:
[array([[12., 12., 12.],
[12., 12., 12.]], dtype=float32)]