Keras model.fit() IndexError:列表索引超出范围
Posted
技术标签:
【中文标题】Keras model.fit() IndexError:列表索引超出范围【英文标题】:Keras model.fit() IndexError: list index out of range 【发布时间】:2021-12-04 14:44:34 【问题描述】:我需要一些帮助,我总是遇到这种奇怪的情况,我的 Keras 模型超出范围
print(np.array(train_x).shape)
print(np.array(train_y).shape)
返回:
(731, 42)
(731,)
然后:
normalizer = Normalization(input_shape=[42,], axis=None)
normalizer.adapt(train_x[0])
linear_model = Sequential([
normalizer,
Dense(units=1)
])
linear_model.summary()
演出:
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
normalization_5 (Normalizati (None, 42) 3
_________________________________________________________________
dense_1 (Dense) (None, 1) 43
=================================================================
Total params: 46
Trainable params: 43
Non-trainable params: 3
_________________________________________________________________
然后:
linear_model.compile(
optimizer=tf.optimizers.Adam(learning_rate=0.1),
loss='mean_absolute_error')
linear_model.fit(
train_x,
train_y,
epochs=100)
这会导致 IndexError: list index out of range。看起来我的输入形状正确。知道是什么原因造成的吗?
【问题讨论】:
train_x
和 train_y
应该是 NumPy 数组,即 numpy.ndarray
类型。
啊,成功了!我最初遇到 numpy 数组的问题。看起来我只是做错了。谢谢!
【参考方案1】:
train_x
和 train_y
需要是 numpy 数组。
【讨论】:
以上是关于Keras model.fit() IndexError:列表索引超出范围的主要内容,如果未能解决你的问题,请参考以下文章
运行 model.fit() 时的 tf.keras (RNN) 层问题
使用 keras.utils.Sequence 和 keras.model.fit_generator 时出现 KeyError。
Keras model.fit() IndexError:列表索引超出范围
keras 的 model.fit 中没有 tf.Print 的结果