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

# 引入所需要的包 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=Nonefeed=Nonefetch_list=Nonefeed_var_name='feed'fetch_var_name='fetch'scope=Nonereturn_numpy=Trueuse_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)]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容