我有以下使用TensorFlow的代码。在我重新整理列表后,它说
AttributeError:'Tensor'对象没有属性'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,) Traceback(最近一次调用最后一次):文件 文件中的“”,第1行 “/home/shehab/Downloads/tools/python/pycharm-edu-2.0.4/helpers/pydev/pydev_import_hook.py” 第21行,在do_import中 module = self._system_import(name,* args,** kwargs)文件“/home/shehab/Dropbox/py-projects/try-tf/logistic_regression.py”,行 77,在 print“train_data.shape:”+ str(train_data.shape)AttributeError:'Tensor'对象没有属性'shape'
有人能告诉我我错过了什么吗?
答案 0 :(得分:18)
更新:自TensorFlow 1.0起,tf.Tensor
现在具有tf.Tensor.shape
属性,该属性返回与tf.Tensor.get_shape()
相同的值。
实际上,在TensorFlow 1.0 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
(或"?"
)。
答案 1 :(得分:1)
import tensorflow as tf
并将train_data.shape
替换为tf.Session.run(tf.rank(train_data))
答案 2 :(得分:0)
使用tf.shape(tensor)
或tf.get_shape(tensor)
。