需要转化为numpy进行判断
转化为numpy的方法有两种
方法1: tf.Session().run(tensorA) 转化为numpy
print(type(tf.Session().run(tf.constant([1,2]))))
结果:<class ‘numpy.ndarray’>
方法2: 使用eval()方法
sess = tf.InteractiveSession()
print(type(tf.constant([1,3]).eval()))
或
sess = tf.Session()
with sess.as_default():
print(type(tf.constant([1,2,3]).eval()))
结果: <class ‘numpy.ndarray’>
numpy数组数值对比
利用numpy见的数值判断方法:
#对于二维的数组,数组形状相同时才可以判断,如一个(2,3)的数组和一个(2,2)的数组判断时会报错
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[1,2,5],[4,4,5]])
c=(a==b)
d=c.any() #只要有一个TRUE,就返回TRUE
e=c.all() #必须都是True,才返回True,否则返回False
print("\n(a==b)的返回结果:\n",c)
print("\n使用any()函数返回的结果:",d)
print("使用all()函数返回的结果:",e)
结果:
(a==b)的返回结果:
[[ True True False]
[ True False False]]
使用any()函数返回的结果: True
使用all()函数返回的结果: False
整体例子:
import tensorflow as tf
import numpy as np
(tf.Session().run(tensor_A)==tf.Session().run(tensor_B).all()
tensor转numpy参考:https://stackoverflow.com/questions/34097281/how-can-i-convert-a-tensor-into-a-numpy-array-in-tensorflow