我试图从位于HERE的Github存储库中运行培训模块。我正在云服务器上运行它,但不知道为什么经过几轮后会出现此错误:
Traceback (most recent call last):
File "run.py", line 229, in <module>
classes=classes, use_augs=use_augs, fix_lens=fix_lens)
File "run.py", line 165, in hyper_tune_network
classes=classes)
File "run.py", line 111, in get_generators
classes=classes)
File "/home/code/DatasetBuilder.py", line 221, in get_sequences
X = pad_sequences(X, maxlen=seq_length, padding='pre', truncating='pre')
File "/usr/local/lib/python3.5/dist-packages/keras/preprocessing/sequence.py", line 61, in pad_sequences
x = (np.ones((num_samples, maxlen) + sample_shape) * value).astype(dtype)
File "/root/.local/lib/python3.5/site-packages/numpy/core/numeric.py", line 214, in ones
a = empty(shape, dtype, order)
MemoryError: Unable to allocate array with shape (200, 20, 244, 244, 3) and data type float64
第一拳,这是什么意思?有什么办法可以解决?有什么解决方案?
答案 0 :(得分:0)
这与linux如何处理RAM过量使用有关(我假设您正在运行linux)。如果请求过多,您的进程将被终止,或者出现您所描述的错误。作为 root ,您可以尝试:
echo 1 > /proc/sys/vm/overcommit_memory
这将使您可以请求任意多的内容。如果请求过多,仍然会遇到内存不足错误,但这将使您可以使用更大的数组。