tensorflow2.1的数据类型转换

1、tf.bitcast

在不复制数据的情况下将tensor从一种数据类型转换为另一种类型。

tf.bitcast
(
    input,
    type,
    name=None
)

参数说明:

input - 配置需要进行类型转换的Tensor,Tensor的类型可以为:bfloat16, half, float32, float64, int64, int32, uint8, uint16, uint32, uint64, int8, int16, complex64, complex128, qint8, quint8, qint16, quint16, qint32.

type - 配置转换后的数据类型,可以选择的类型包括:tf.bfloat16, tf.half, tf.float32, tf.float64, tf.int64, tf.int32, tf.uint8, tf.uint16, tf.uint32, tf.uint64, tf.int8, tf.int16, tf.complex64, tf.complex128, tf.qint8, tf.quint8, tf.qint16, tf.quint16, tf.qint32.

name:配置运算操作的名称。

示例代码:

import tensorflow as tf


a = tf.constant([32., 25.])
b = tf.bitcast(a, type = tf.int32)

print(a.dtype, b.dtype)
<dtype: 'float32'> <dtype: 'int32'>

2、数据类型转换tf.cast()函数

tf.cast()函数的作用是执行 tensorflow 中张量数据类型转换,比如读入的图片如果是int8类型的,一般在要在训练前把图像的数据格式转换为float32。

用法:

tf.cast(
    x,
    dtype,
    name=None
)

参数说明:

  • x:待转换的数据(张量)
  • dtype:目标数据类型
  • name:可选参数,定义操作的名称

示例:float转换为bool:

import tensorflow as tf
a = tf.Variable([1,0,0,1,1])
b = tf.cast(a,dtype=tf.bool)
b
Out[87]: <tf.Tensor: shape=(5,), dtype=bool, numpy=array([ True, False, False,  True,  True])>
发布了79 篇原创文章 · 获赞 53 · 访问量 8347
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览