当前位置:   article > 正文

Tensor数据类型

tenor数据类型

Tensor数据类型

  • list: [1,1.2,'hello'] ,存储图片占用内存非常大
  • np.array,存成一个静态数组,但是numpy在深度学习之前就出现了,所以不适合深度学习
  • tf.Tensor,为了弥补numpy的缺点,更多的是为了深度学习而生
  • tensor:
    • scalar:标量,1.1
    • vector:向量,[1.1],[1.1,2.2,...]
    • matrix: 矩阵,[[1.1,2.2],[3.3,4.4]]
    • tensor:rank>2
  • 数据类型:
    • Int, float, double
    • bool
    • string
  • 定义tensor
  1. tf.constant(1) # 定义常量,普通的tensor
  2. tf.constant(1.) # 定义常量,普通的tensor
  3. tf.constant([True, False]) # 定义常量,普通的tensor
  4. tf.constant('hello nick')

属性

  1. with tf.device('cpu'):
  2. a = tf.constant([1])
  3. with tf.device('gpu'):
  4. b = tf.constant([1])
  5. a.device # 设备属性
  6. a.gpu() # cpu转gpu
  7. a.numpy() # 获取numpy数据类型
  8. a.shape # 获取a的属性
  9. a.ndim # 获取维度
  10. tf.rank(a) # 获取维度
  11. a.name # 1.+历史遗留问题

数据类型判断

  1. instance(a,tf.Tensor) # 判断是否为tensor
  2. tf.is_tensor(a) # 判断是否为tensor
  3. a.dtype,b.dtype,c.dtype # 判断数据类型

数据类型转换

  1. a = np.arange(5)
  2. aa = tf.convert_to_tensor(a,dtype=tf.int32) # numpy转tensor
  3. tf.cast(aa,dtype=tf.float32) # tensor之间数据类型转换
  4. # int --》 bool
  5. b = tf.constant([0,1])
  6. tf.cast(b,dtype=tf.bool) # int --》bool
  7. # tf.Variable
  8. a = tf.range(5)
  9. b = tf.Variable(a) # tensor转为Variable后具有求导的特性,即自动记录a的梯度相关信息
  10. b.name # Variable:0
  11. b = tf.Variable(a, name='input_data')
  12. b.name # input_data:0
  13. b.trainable # True
  14. isinstance(b,tf.Tensor) # False
  15. isinstance(b,tf.Variable) # True
  16. tf.is_tensor(b) # True # 推荐使用

 tensor转numpy

  1. a= tf.range(5)
  2. a.numpy()
  3. # a必须是scalar
  4. a = tf.ones([])
  5. a.numpy()
  6. int(a)
  7. float(a)

转载于:https://www.cnblogs.com/nickchen121/p/10840234.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/272504
推荐阅读
相关标签
  

闽ICP备14008679号