我有一个1x1 EagerTensor对象,我试图转换为单个浮点值。例如
tf.Tensor([[-0.04473801]],形状= (1,1),dtype = float32)→-0.04473801
似乎有一个简单的答案,我过去在其他张量上使用过-只需使用item()方法来获得这个答案。然而,当我尝试在EagerTensor对象上使用.item()方法时,我得到了以下错误:
AttributeError: 'tensorflow.python.framework.ops.EagerTensor' object has no attribute 'item'
为什么会发生这种情况?EagerTensors没有item()方法吗?我发现的一个解决方法是使用float(tensor_variable.numpy()[0])
,但似乎应该有更好的方法。
使用挤压删除尺寸为1:
import tensorflow as tf
t = tf.constant([[-0.04473801]])
tf.squeeze(t).numpy()
>>> -0.04473801