首页 > 解决方案 > ValueError:形状 (10000, 11) 和 (10000, 1) 与 Tensorflow 不兼容

问题描述

我已经看到了这个错误,但是,我不确定如何在我的情况下修复它。我的所有代码和数据集的回购:https ://github.com/itisyeetimetoday/regression

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: Shapes (10000, 11) and (10000, 1) are incompatible

从技术上讲,拟合线得到了错误,但是可以解决错误的模型参数。我尝试将尺寸更改为 10,以防 TensorFlow 从 0 开始,但这不起作用。如何修复错误?谢谢你。

标签: python-3.xtensorflow

解决方案


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。


推荐阅读