python-3.x - 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 开始,但这不起作用。如何修复错误?谢谢你。
解决方案
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。
推荐阅读
- linux - 在 Linux 上使用 powershell 运行参数文件
- android - 布尔条件未在 kotlin 中执行
- python - 如何从熊猫系列中仅提取大写子字符串?
- java - 如何在 Java Future 中断时返回结果
- c++ - 为什么我不能在 c++ cout 语句中添加“\n”。是什么
- javascript - \n 没有将我的字符串分成两行
- c++ - 设置单个像素的最有效方法 WinAPI C++
- r - R 并行 - 函数只返回初始矩阵
- mongodb - MongoDB - 损坏的数据 - 索引损坏?- BSONObj 大小
- c++ - C/C++:预处理器指令应该如何处理宏参数列表?