如何检查存储在 Python 3 中的 tf.Tensor 数据集对象中的 numpy.int64 值的等价性?

问题描述

我想知道是否有一种简单的方法可以检查存储在类“numpy.int64”的 tf.Tensor 数据集对象中的 int32 值的等效性。整数值会随着时间的推移而改变,当值为 2 时,我想得到一个“真”的逻辑指示符,当它不是时,我想得到一个“假”的逻辑指示符。我正在使用 Python 3 和 TensorFlow 2.5.0。

这里有一些细节。当我打电话时:

print(class(token))

在我的数据集对象(名为“令牌”)上,我看到:

tf.Tensor([[2]],shape=(1,1),dtype=int32)
<class 'numpy.int64'>

我想检查存储在 'token' 中的整数值是否等于 2,并在该值相对于 2 的参考值发生变化时接收一个逻辑指示符 'True' 或 'False'。看起来应该是这样很容易,但无论我尝试什么样的索引或函数调用,我似乎都无法访问存储在“令牌”中的整数。我该怎么做?

当我打电话时:

print(token)

我明白了:

0

当我尝试时:

print(tf.math.equal(token,[[2]]))

我明白了:

tf.Tensor([[False]],dtype=bool)

谢谢!

解决方法

运行这个

RDOMail.SaveAs(...,olFTS)

这应该输出 tf.squeeze(tf.math.equal(token,[[2]])).numpy()