Tensorflow函数之tf.equal和tf.cast

Tensorflow函数之tf.equal、tf.cast

1、tf.equal是对比两个向量或者矩阵的值是否相等。

对应元素相等返回true,不相等返回false。注意返回的数据类型。

import tensorflow as tf  
import numpy as np  
 
A = [[1,3,4,5,6]]  #1*5矩阵
B = [[1,3,4,3,2]]  #1*5矩阵

C = [1,3,4,5,6]  #有5个元素的向量
D = [1,3,4,3,2]  #有5个元素的向量
 
with tf.compat.v1.Session() as sess:  
    print(sess.run(tf.equal(A, B)))#矩阵与矩阵
    print(sess.run(tf.equal(C, D)))#向量与向量
    print(sess.run(tf.equal(C, B)))#向量与矩阵
    print(sess.run(tf.equal(B, D)))#矩阵与向量

输出:

[[ True  True  True False False]] #矩阵
[ True  True  True False False]   #向量
[[ True  True  True False False]] #矩阵
[[ True  True  True  True  True]]  #矩阵

2、tf.cast用于转换数据类型。

表示:tf.cast(x, dtype, name=None)
如将tensor转换为bool,或者将bool转换为tensor,具体实例如下:

import tensorflow as tf  
a = tf.Variable([1,0,0,1,0])  
b = tf.cast(a,dtype = bool) #tensor转换为bool
c = tf.cast(b,dtype=tf.int32)#bool转换为tensor
init_op = tf.compat.v1.initialize_all_variables()
with tf.compat.v1.Session() as sess:
    sess.run(init_op)#加入默认图中,变量初始化
    print(sess.run([a,b,c]))#获取值

输出:

[array([1, 0, 0, 1, 0]),
 array([ True, False, False,  True, False]), 
 array([1, 0, 0, 1, 0])]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章