[tf]tf的数据类型

Posted

tags:

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

参考技术A

引用

self.ent_emb = tf.get_variable(name="ent_emb", initializer=tf.random_uniform(shape=[self.num_ent, self.params.emb_size], minval=-sqrt_size, maxval=sqrt_size))

可以看到Variable之所以为Variable 就是没有在用feed_dict赋值的话就是初始值(或者在assign的值)。

v.initializer 只是初始化v, tf.global_variables_initializer() 就是调用所有variable的initializer函数

variable的初始化,注意variable的初始化列表里面的都是 表示初始值

创建变量还可以调用 tf.get_variable 函数。要求 指定变量的名称 。此名称将被其他副本用来访问同一变量,以及在检验和导出模型时命名此变量的值。tf.get_variable 还允许您重用先前创建的同名变量,从而轻松定义重用层的模型。

返回一个常量tensor

使用另外一个变量进行初始化

tf.cast()数据类型转换

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_FLOAT tf.float32 32 位浮点数.
DT_DOUBLE tf.float64 64 位浮点数.
DT_INT64 tf.int64 64 位有符号整型.
DT_INT32 tf.int32 32 位有符号整型.
DT_INT16 tf.int16 16 位有符号整型.
DT_INT8 tf.int8 8 位有符号整型.
DT_UINT8 tf.uint8 8 位无符号整型.
DT_STRING tf.string 可变长度的字节数组.每一个张量元素都是一个字节数组.
DT_BOOL tf.bool 布尔型.
DT_COMPLEX64 tf.complex64 由两个32位浮点数组成的复数:实数和虚数.
DT_QINT32 tf.qint32 用于量化Ops的32位有符号整型.
DT_QINT8 tf.qint8 用于量化Ops的8位有符号整型.
DT_QUINT8 tf.quint8 用于量化Ops的8位无符号整型.
---------------------
作者:-牧野-
来源:CSDN
原文:https://blog.csdn.net/dcrmg/article/details/79747814
版权声明:本文为博主原创文章,转载请附上博文链接!

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

tf.cast()数据类型转换

将 TFRecords 和 tf.Examples 转换为常用数据类型

tf.cast()

tf.placeholder函数说明

tf.placeholder使用说明

tf.nn.bias_add