TensorFlow常量、变量和占位符详解_2021.4.22

最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算。张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量、矢量和矩阵等都是特殊类型的张量。
TensorFlow 支持以下三种类型的张量:
常量:常量是其值不能改变的张量。

**变量:当一个量在会话中的值需要更新时,使用变量来表示。**例如,在神经网络中,权重需要在训练期间更新,可以通过将权重声明为变量来实现。**变量在使用前需要被显示初始化。**另外需要注意的是,**常量存储在计算图的定义中,每次加载图时都会加载相关变量。换句话说,它们是占用内存的。另一方面,变量又是分开存储的。它们可以存储在参数服务器上。**在计算图的定义中通过声明初始化操作对象来实现,每个变量也可以在运行图中单独使用 tf.Variable.initializer 来初始化.

占位符:用于将值输入 TensorFlow 图中。它们可以和 feed_dict 一起使用来输入数据。在训练神经网络时,它们通常用于提供新的训练样本。在会话中运行计算图时,可以为占位符赋值。这样在构建一个计算图时不需要真正地输入数据。需要注意的是,占位符不包含任何数据,因此不需要初始化它们。

所有常量、变量和占位符将在代码的计算图部分中定义。**如果在定义部分使用 print 语句,只会得到有关张量类型的信息,而不是它的值。**为了得到相关的值,需要创建会话图并对需要提取的张量显式使用运行命令

很多时候需要大规模的常量张量对象;在这种情况下,为了优化内存,最好将它们声明为一个可训练标志设置为 False 的变量:

t_large = tf.Varible(large_array,trainable = False)

请注意,与 Python/Numpy 序列不同,TensorFlow 序列不可迭代

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值