ValueError:形状(10000,11)和(10000,1)不兼容Tensorflow

时间:2019-10-01 22:42:17

标签: python-3.x tensorflow

我已经看到此错误,但是,我不确定如何解决此问题。 我的所有代码和数据集的仓库:https://github.com/itisyeetimetoday/reggression

regressor = skflow.DNNRegressor(feature_columns=feature_columns,
            label_dimension=11,
            hidden_units=hidden_layers,
            model_dir=MODEL_PATH,
            dropout=dropout,
            config=test_config,
            activation_fn = tf.nn.relu,
            optimizer  = tf.compat.v1.train.AdamOptimizer(learning_rate = learning_rate)

但是,上面的行会生成此错误:ValueError:形状(10000,11)和(10000,1)不兼容

从技术上讲,拟合线会出现错误,但是可以解决该错误的模型参数。我尝试将尺寸更改为10以防TensorFlow从0开始,但这没有用。如何解决错误?谢谢。

1 个答案:

答案 0 :(得分:0)

ValueError: Shapes (batch, 11) and (batch, 1) are incompatible

错误表明模型期望输出形状为(10000,11),而真正的标签形状为(10000,1)。因此,您必须更改label_dimension=1

regressor = skflow.DNNRegressor(feature_columns=feature_columns,
            label_dimension=1,
            hidden_units=hidden_layers,
            model_dir=MODEL_PATH,
            dropout=dropout,
            config=test_config,
            activation_fn = tf.nn.relu,
            optimizer  = tf.compat.v1.train.AdamOptimizer(learning_rate = learning_rate)

如果有11个输出节点,则应将训练数据集标签的维数从1更改为11。