TensorFlow:AttributeError:'Tensor'对象没有属性'shape'
neural-network
python
tensorflow
11
0

我有以下使用TensorFlow的代码。重塑列表后,它说

AttributeError:“张量”对象没有属性“ shape”

当我尝试打印其形状时。

# Get the shape of the training data.
print "train_data.shape: " + str(train_data.shape)
train_data = tf.reshape(train_data, [400, 1])
print "train_data.shape: " + str(train_data.shape)
train_size,num_features = train_data.shape

输出:

train_data.shape:(400,)回溯(最近一次通话):文件“ /home/shehab/Downloads/tools/python/pycharm-edu-2.0.4/helpers/pydev/pydev_import_hook中的文件“”,行1 “ .py”,第21行,位于do_import模块= self._system_import(name,* args,** kwargs)文件“ /home/shehab/Dropbox/py-projects/try-tf/logistic_regression.py”,第77行,在打印“ train_data.shape:” + str(train_data.shape)AttributeError:'Tensor'对象没有属性'shape'

谁能告诉我我想念的东西吗?

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

更新:自TensorFlow 1.0起, tf.Tensor现在具有tf.Tensor.shape属性,该属性返回与tf.Tensor.get_shape()相同的值。


确实,在TensorFlow 1.0 tf.Tensor之前的版本中, tf.Tensor没有.shape属性。您应该改用Tensor.get_shape()方法:

train_data = tf.reshape(train_data, [400, 1])
print "train_data.shape: " + str(train_data.get_shape())

请注意,通常您可能无法获得TensorFlow操作结果的实际形状。在某些情况下,形状将是一个计算值,具体取决于运行计算以找到其值。甚至可能从一次运行到下一次运行都不同(例如tf.unique()的形状)。在这种情况下,某些尺寸的get_shape()结果可能为None (或"?" )。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题