TensorFlow 为开发者提供了多种数据类型转换方法,具体如下:
tf.string_to_number(string_tensor, out_type=None, name=None)
tf.to_double(x, name='ToDouble')
tf.to_float(x, name='ToFloat')
tf.to_bfloat16(x, name='ToBFloat16')
tf.to_int32(x, name='ToInt32')
tf.to_int64(x, name='ToInt64')
tf.cast(x, dtype, name=None)
tf.string_to_number(string_tensor, out_type=None, name=None)
将输入张量中的每个字符串转换为指定的数值类型张量。
Args:
string_tensor
: 一个数值字符串类型张量out_type
: 参数类型为tf.DType
,可选tf.float32
,tf.int32
默认为f.float32
(optional)name
: 操作名称 (optional)
Returns:
一个类型 out_type
的张量。
import tensorflow as tf
x = ['1','2','7']
with tf.Session() as sess:
y = tf.string_to_number(x, out_type = tf.int32)
print(y.eval()) ==> [1 2 7]
tf.to_double(x, name='ToDouble')
将一个张量转换为 float64
Args:
x
: 张量或稀疏张量name
: 操作名称 (optional)
Returns:
返回一个类型为 float64
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1, 2, 7]
with tf.Session() as sess:
y = tf.to_double(x)
print(y.eval()) ==> [ 1. 2. 7.]
tf.to_float(x, name='ToFloat')
将一个张量转换为 float32
Args:
x
: 张量或稀疏张量name
: 操作名称 (optional)
Returns:
返回一个类型为 float32
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1, 2, 7]
with tf.Session() as sess:
y = tf.to_double(x)
print(y.eval()) ==> [ 1. 2. 7.]
tf.to_bfloat16(x, name='ToBFloat16')
将一个张量转换为 bfloat16
,输入必须是浮点型张量。
Args:
x
: 张量或稀疏张量name
: 操作名称 (optional)
Returns:
返回一个类型为 bfloat16
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1.0, 2.0, 7.0]
with tf.Session() as sess:
y = tf.to_bfloat16(x)
print(y.eval()) ==> [16256 16384 16608]
tf.to_int32(x, name='ToInt32')
将一个张量转换为 int32
。
Args:
x
: 张量或稀疏张量name
: 操作名称 (optional)
Returns:
返回一个类型为 int32
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1.0, 2, 7]
with tf.Session() as sess:
y = tf.to_int32(x)
print(y)
#输出 Tensor("ToInt32_3:0", shape=(3,), dtype=int32)
tf.to_int64(x, name='ToInt64')
将一个张量转换为 int64
。
Args:
x
: 张量或稀疏张量name
: 操作名称 (optional)
Returns:
返回一个类型为 int64
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1.0, 2, 7]
with tf.Session() as sess:
y = tf.to_int64(x)
print(y.eval())
#输出 Tensor("ToInt64_3:0", shape=(3,), dtype=int64)
tf.cast(x, dtype, name=None)
将一个张量转换新类型,新类型由 dtype
参数指定。
Args:
x
: 张量或稀疏张量dtype
: 目标类型,tf.DType
name
: 操作名称 (optional)
Returns:
返回一个类型为 dtype
、大小相同的张量或稀疏张量。
import tensorflow as tf
x = [1.0, 2, 7]
with tf.Session() as sess:
# 等同于 tf.to_int32(x)
y = tf.cast(x, tf.int32)
print(y)
#输出 Tensor("Cast:0", shape=(3,), dtype=int32)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于