tensorflow的数据类型

Posted 月疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow的数据类型相关的知识,希望对你有一定的参考价值。

数据类型包括:

int,float,double,bool,String

数据主要有:

list(列表),np.array(np的数组), tf.Tensor (tf的张量)

什么是张量?

scalar(标量),venctor(向量),matrix(矩阵),tensor(rank>2)

这些都可以是tensor,但是一般指向量或者矩阵维度大于2的豆角tensor

 

 

 

 

 

 

 

 

import  tensorflow as tf
import numpy as np
#创建一个整型
tf.constant(1)

#创建一个浮点型
tf.constant(1.)

#双精度
tf.constant(1.,dtype=tf.double)

#bool型
tf.constant([True,False])

#字符串型
tf.constant("hello,world")

with tf.device("cpu"):
    a=tf.constant([1])

with tf.device("gpu"):
    b=tf.range(4)

a.device #返回当前tensor所在系统的名称(cpu或者gpu)
b.device

#当一个tensor从cpu转向gpu,或者gpu转向cpu
aa = a.gpu()
aa.device

#tensor转换到numpy
bb = b.numpy()
#bb的维度
bb.ndim
bb.shape

#判断某一个是否是tensor
tf.is_tensor(b)
#numpy默认是64位,转换为tensor的时候需要指定成32位才会转换

a=np.arange(4)

aa=tf.convert_to_tensor(a,dtype=tf.int32)

#专门数据转换其他数据类型,数据转换基本都是cast
aa=tf.cast(aa,dtype=tf.float32)

#整型转换布尔型
b = tf.constant([0,1])
tf.cast(b,dtype=tf.bool)

a=tf.range(5)

c=tf.Variable(a)
c.dtype
#类似激活函数,一个tensor被Variable包装以后,会自动获取可以求导的特性,神经网的w
d=tf.Variable(a,name="input_data")
d.name
d.trainable #可以被训练,求导,True

#tensor是gpu上面的,如果要吧数据返回到cpu,需要转换成numpy
a.numpy()


 

小结:

 tf.convert_to_tensor把list和numpy转换为tensor

cast是专用tensor转换api

tf.Variable(a,name="input_data")把数据设置成可以自动求导

以上是关于tensorflow的数据类型的主要内容,如果未能解决你的问题,请参考以下文章

吴裕雄--天生自然TensorFlow2教程:Tensor数据类型

85.『Ruby美食』豆角焖面

操纵张量中的标量(Tensorflow)

TensorBoard 未显示标量摘要,但显示了图表

TensorBoard 找不到标量统计信息

tensorflow