当前位置: 代码迷 >> python >> 大数据集上的predict_on_batch()中的内存错误
  详细解决方案

大数据集上的predict_on_batch()中的内存错误

热度:63   发布时间:2023-07-16 09:48:10.0

我有18000个示例的测试集。

Χ_test.shape: (18000, 128, 128, 1)

我已经训练了模型,并想在X_test上使用预测。

如果我尝试仅使用:

pred = model.predict_on_batch(X_test)

它给出了内存错误。

我尝试了类似的东西:

X_test_split = X_test.flatten()
X_test_split = np.array_split(X_test_split, 562) # batch size is 32
pred = np.empty(len(X_test_split), dtype=np.float32)

for idx, _ in enumerate(X_test_split):
    pred[idx] = model.predict_on_batch(X_test_split[idx].reshape(32, 128, 128, 1))

但是它要么再次给我带来内存错误,要么给我关于重整的错误(取决于我在上面的代码中尝试的变化)

我也有使用predict_generator的相同问题。

根据OP的要求,我将发表我的评论作为答案,并尝试详细说明:

看来您的模型尺寸很大,因此您需要使用较小的批处理尺寸(<32,因为您提到它不适用于32)或修改模型并减少参数数量(例如,删除一些图层,减少过滤器或单元的数量等)。

  相关解决方案