Tensorflow,不能为形状赋值.....用于Tensor

时间:2017-09-27 14:48:54

标签: tensorflow

线性回归和3d矩阵存在问题。 它们都是浮点数,带有标签。

我从这段代码开始,但我更改了矩阵: https://aqibsaeed.github.io/2016-07-07-TensorflowLR/

有2个尺寸,它运作良好但是,3,我无法让它运行。

这是形状

Item

(387, 7, 10) shape train_x
(387, 1) shape train_x
(43, 7, 10) test_x.shape
(43, 1) test_y.shape

1 个答案:

答案 0 :(得分:1)

您的错误消息显示了引发它的确切原因。 占位符与train_x之间的维度不适合。

train_x具有(387,7,10)形状。在通常的惯例中,你有387个数据点,它有(7,10)维。

但是,X(占位符,您将放入train_x的存储桶)具有[None,n_dim](我猜n_dim为7)形状。

在第一个元素中使用[None,〜]仅作为数据点的数量,而不是数据的维度。

因此,在这种情况下,您需要将[None,n_dim]更改为[None,7,10]。

编)

在这种情况下,X不是精确的3D数据。只是一堆2D数据。对于2D数据的直接权重乘法,您需要卷积步骤。那是CNN。但是你只有非常小的维度数据矩阵,你只需要将(7,10)矩阵形状数据重塑为(7 * 10)矢量形状数据。

使用tf.reshape功能。tf.reshape(X, shape=[387, 7*10])将有效,并且还会将W更改为正确尺寸以进行相乘。比如,tf.Variable(tf.ones([7*10,1]))