【发布时间】:2019-01-03 19:26:49
【问题描述】:
我有一组训练数据,其中每个输入都是一个长度为 138 的向量。我有 519 个这些向量,批量大小为 519。这些不是图像,只是实数值。
我正在尝试从 2 层密集 Keras 模型开始:
model = keras.Sequential([
layers.Dense(200, activation=tf.nn.relu, input_shape=[138]),
layers.Dense(200, activation=tf.nn.relu),
layers.Dense(1)
])
当我构建模型时出现以下错误:
Error when checking input: expected dense_27_input to have shape (138,) but got array with shape (519,).
在 Keras 中,我在哪里区分批量大小和输入特征的数量? layers.Dense() 似乎假设我的输入是在行和列中。
【问题讨论】:
-
你能展示一下你在模型中输入向量的指令吗?
-
输入数组的形状是什么,
(138, 519)或(519, 138)? -
输入数组的形状为 138x519。我将输入向量放入模型的指令是:example_batch = normed_train_data[:10] example_result = model.predict(example_batch) where def norm(x): return (x - train_stats['mean']) / train_stats[' std'] normed_train_data = norm(train_dataset)。我一直在关注这个例子:tensorflow.org/tutorials/keras/basic_regression
标签: python machine-learning keras training-data keras-layer