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])>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值