当前位置:   article > 正文

【tenserflow】——数据类型以及常用属性_tensorflow 判断

tensorflow 判断

目录

 

一、什么是Tensor?

二、Tensorflow常见数据类型

三、Tensorflow常见属性device\cpu\gpu\ndim\shape\rank等

1、创建一个tensor

1)tf.constant()

2)tf.Variable()

2、判断一个变量是否为tensor张量

 3、生成不同设备(cpu,gpu)上的tensor

4、判断一个tensor工作的设备

5、cpu和gpu不同设备上tensor的转换

6、tensor载体上的数据和numpy库上的数据的相互转换

7、判断变量的数据类型

8、判断变量的维度

 9、tensor下不同数据类型之间进行转换


一、什么是Tensor

Tensor实际上就是Tensorflow中的数据载体,可以囊括所有的数据类型,如标量、矩阵、向量等

专门为神经网络中深度学习设计的一个框架中的数据载体

二、Tensorflow常见数据类型

  1. import tensorflow as tf

三、Tensorflow常见属性device\cpu\gpu\ndim\shape\rank等

1、创建一个tensor

具体可见:《【tensorflow】——创建tensor的方法

1)tf.constant()

a=tf.constant(数据)

2)tf.Variable()

这个是专门为神经网络的参数进行设置的一个数据类型,它含有两个属性,一个是name,一个是train able

  1. a = tf.range(4)#[0,1,2,3]
  2. b = tf.Variable(a,name = "变量名")
  3. b.name
  4. b.trainable#返回True,表示是可以训练的变量,系统会自动对该变量的梯度进行监督(watch)

 

2、判断一个变量是否为tensor张量

  1. import tensorflow as tf
  2. tf.is_tensor(变量名)
  3. #是tensor返回True,否则返回False

 3、生成不同设备(cpu,gpu)上的tensor

  1. import tensorflow as tf
  2. #创建cpu设备上的tensor变量a
  3. with tf.device("cpu"):
  4. a=tf.constant(1)
  5. #创建gpu设备上的tensor变量a
  6. with tf.device("gpu"):
  7. b=tf.constant(1.1)

4、判断一个tensor工作的设备

  1. tf.device(变量名)
  2. #返回的是一个字符串,含有当前tensor所工作的环境设备

5、cpu和gpu不同设备上tensor的转换

不同设备上的变量有些操作是不能进行的,如a,b的加法,就需要在同一个设备环境下,才能进行,否则会报错,这时候就需要使用到不同设备间tensor的转换了

  1. #假设a是cpu上的tensor,b是gpu上的tensor
  2. aa = a.gpu()#返回的是gpu上的tensor,当然不会影响原来的tensor a所在的设备环境
  3. bb = b.cpu()#返回的是cpu上的tensor,当然不会影响原来的tensor b所在的设备环境

6、tensor载体上的数据和numpy库上的数据的相互转换

这是两个数据库,可以看成是数据载体,都可以生成不同类型的数据,但是要想数据间进行操作,必须转换成同一个载体下的数据才能进行操作

  1. import tensorflow as tf
  2. #tensor转换为numpy
  3. 变量名.numpy()
  4. #如果tensor是一个标量scalar的话,也可以通过下面的方法进行转换为numpy
  5. int(a)
  6. float(a)
  7. #numpy转换为tensor
  8. tf.convert_to_tensor(变量名,dtype=tf.数据类型)

7、判断变量的数据类型

  1. a.dtype,b.dtype,c.dtyp#返回三个变量的数据类型
  2. (tf.float32,tf.bool,tf.string)#表示在tensor数据载体下的各种数据类型
  3. #要是想验证某一个变量是否为具体的数据类型,可以通过以下方法
  4. a.dtype == tf.float32
  5. #返回布尔类型,是返回True,不是返回False

8、判断变量的维度

维度是指是标量还是向量还是矩阵抑或是更高维的数据

  1. b.ndim#返回的是一个标量,一个值,等于维度
  2. tf.rank(b)#返回的是一个含有变量b相关信息的tensor

 

9、tensor下不同数据类型之间进行转换

  1. tf.cast(变量名,dtype=需要转换成的数据类型)
  2. #例如
  3. tf.cast(aa,dtype = float32/double/int32)

布尔型和整型的转化

 

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

闽ICP备14008679号