【PaddlePaddle】data()使用及分析

本文解析了PaddlePaddle中data()方法的使用,包括在layers和fluid模块下的区别,并强调了官方不推荐使用layers.data()。data()方法用于创建Variable(Tensor)对象,详细介绍了其参数,如name、shape、dtype等,并提供了赋值方法的示例。
摘要由CSDN通过智能技术生成

【PaddlePaddle】data()分析及使用

官方文档

本文为作者对官方文档的解读+自己在平时开发练习中的一些总结,但总得一切以官方为准

背景&简介

深度学习中第一大问题就是用于计算模型的数据量实在是过于庞大,且类型复杂。如果只用一般的列表、数组、向量这样的数据结构进行计算的话,肯定是不行的。因此在深度学习中,主流的学习框架一般用Tensor(张量)来表示数据,这是一个不定维度的多维数组。
在Paddlepaddle中,Tensor类型被返回为类型名为Variable的变量。一般来说,二者是一个概念
data()方法就是用于创建tensor(variable)的方法。
data()方法在PaddlePaddle下有两处接口,在开发中基本用法一致。

layers

先看下layers下的data()

paddle.fluid.layers.data(name, shape, append_batch_size=True, dtype='float32', lod_level=0, type=VarType.LOD_TENSOR, stop_gradient=True)

(一直不知道为什么Python的许多库不可以像Java一样在IDE中查看UML图)
data是layers类中的一个成员方法,主要作用是构建一个类型为Variable的算子,该算子在计算图中是一个全局变量。
但同时,请注意官方文档中有如下说明:
不推荐使用 paddle.fluid.layers.data ,因其在之后的版本中会被删除。请使用 paddle.fluid.data 。
paddle.fluid.layers.data 在组网期间会设置创建的变量维度(shape)和数据类型(dtype),但不会检查输入数据的维度和数据类型是否符合要求。 paddle.fluid.data 会在运行过程中由Executor/ParallelExecutor检查输入数据的维度。

也就是说,在layers类中的data()方法可能存在一定的安全隐患,因此不推荐从这里引用

参数解释
  • name (str)- 被创建的变量的名字 。
  • shape (list)- 声明维度信息的list。如果 append_batch_size 为True且内部没有维度值为-1,则应将其视为每个样本的形状。 否则,应将其视为batch数据的形状。
  • appen
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值