我如何在Tensorflow中获得1x1 EagerTensor的浮点值?



我有一个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

相关内容

  • 没有找到相关文章

最新更新