tensorflow从入门到放弃再到精通(4.2):TensorFlow 基础语法以及数据类型-待优化张量和创建张量

4.3 待优化张量

tensorflow增加了一种专门计算梯度信息的记录张量:tf.Variable,在普通张量的基础上新增了 name,trainable 等属性来支持计算图的构建。它会消耗大量的计算资源,而且会自动更新相关参数,对于不需要优化的张量,不需要通过tf.Variable封装

#tf.Variable()可以将普通的张量转化成待优化张量
a = tf.Constant([-1, 0, 1, 2])
aa = tf.Variable(a)
aa.name, aa.trainable

###结果
 ('Variable:0', True)

其中,name 属性用于命名计算图中的变量,trainable属性表征当前张量是否需要被优化,创建Variable对象时默认是开启优化状态,可以通过设置trainable=False来设置张量不需要优化

# 直接创建 Variable 张量
a = tf.Variable([[1,2],[3,4]])

###结果
<tf.Variable 'Variable:0' shape=(2, 2) dtype=int32, numpy= 
array([[1, 2], [3, 4]])> 

待优化张量可视为普通张量的特殊类型,普通张量其实也可以通过 GradientTape.watch()方 法临时加入跟踪梯度信息的列表,从而支持自动求导功能。

 

4.4 创建张量

4.4.1 从数组、列表对象创建

Numpy Array 数组和 Python List 列表是 Python 程序中间非常重要的数据载体容器,很多数据都是通过 Python 语言将数据加载至 Array 或者 List 容器,再转换到 Tensor 类型,TensorFlow 运算处理后导出到 Array 或者 List 容器,方便其他模块调用。 

 tf.convert_to_tensor 函数可以创建新 Tensor࿰

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值