查看: 1574|回复: 1

tf.cast()数据类型转换

[复制链接]

665

主题

1234

帖子

6670

积分

xdtech

Rank: 5Rank: 5

积分
6670
发表于 2020-8-11 08:42:34 | 显示全部楼层 |阅读模式
tf.cast()函数的作用是执行 tensorflow 中张量数据类型转换,比如读入的图片如果是int8类型的,一般在要在训练前把图像的数据格式转换为float32。

cast定义:

cast(x, dtype, name=None)
  • 第一个参数 x:   待转换的数据(张量)
  • 第二个参数 dtype: 目标数据类型
  • 第三个参数 name: 可选参数,定义操作的名称

int32转换为float32:



  • import tensorflow as tf







  • t1 = tf.Variable([1,2,3,4,5])



  • t2 = tf.cast(t1,dtype=tf.float32)







  • print 't1: {}'.format(t1)



  • print 't2: {}'.format(t2)







  • with tf.Session() as sess:



  •     sess.run(tf.global_variables_initializer())



  •     sess.run(t2)



  •     print t2.eval()



  •     # print(sess.run(t2))


输出:



  • t1: <tf.Variable 'Variable:0' shape=(5,) dtype=int32_ref>



  • t2: Tensor("Cast:0", shape=(5,), dtype=float32)



  • [ 1.  2.  3.  4.  5.]



tensorflow中的数据类型列表:

数据类型
Python 类型
描述

DT_FLOATtf.float3232 位浮点数.
DT_DOUBLEtf.float6464 位浮点数.
DT_INT64tf.int6464 位有符号整型.
DT_INT32tf.int3232 位有符号整型.
DT_INT16tf.int1616 位有符号整型.
DT_INT8tf.int88 位有符号整型.
DT_UINT8tf.uint88 位无符号整型.
DT_STRINGtf.string可变长度的字节数组.每一个张量元素都是一个字节数组.
DT_BOOLtf.bool布尔型.
DT_COMPLEX64tf.complex64由两个32位浮点数组成的复数:实数和虚数.
DT_QINT32tf.qint32用于量化Ops的32位有符号整型.
DT_QINT8tf.qint8用于量化Ops的8位有符号整型.
DT_QUINT8tf.quint8用于量化Ops的8位无符号整型.


回复

使用道具 举报

665

主题

1234

帖子

6670

积分

xdtech

Rank: 5Rank: 5

积分
6670
 楼主| 发表于 2020-8-11 08:42:45 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表