tf.cast()
cast(
x,
dtype,
name=None
)
將x的數據格式轉化成dtype數據類型.例如,原來x的數據格式是bool,
那麼將其轉化成float以後,就能夠將其轉化成0和1的序列。反之也可以
%%python2
import sys
import tensorflow as tf
print(sys.version)
a = tf.Variable([1.0,1.3,2.1,3.41,4.51])
b = tf.cast(a>3,dtype=tf.bool)
c = tf.cast(a>3,dtype=tf.int8)
e = tf.cast(a<2,dtype=tf.float32)
d = tf.cast(a,dtype=tf.int8)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(b))
print(sess.run(c))
print(sess.run(e))
print(sess.run(d))
[False False False True True]
[0 0 0 1 1]
[1. 1. 0. 0. 0.]
[1 1 2 3 4]
結論:
- tf.cast()中的tensor爲全部內容時,完成的是所有tensor數據格式的轉換
- tf.cast()中的tensor爲條件內容時,完成的是掩膜形式的數據格式轉換