gpt4 book ai didi

python - np.concatenate 的内存错误

转载 作者:行者123 更新时间:2023-11-28 17:10:09 25 4
gpt4 key购买 nike

当我在 iPython notebook 中运行流畅的代码时:

_x = np.concatenate([_batches.next() for i in range(_batches.samples)])

我收到此错误消息

---------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-14-313ecf2ea184> in <module>()
----> 1 _x = np.concatenate([_batches.next() for i in
range(_batches.samples)])

MemoryError:

迭代器有 9200 个元素。

next(_batch) 返回形状为 (1, 400, 400, 3) 的 np.array

我有 30GB RAM 和 16GB GPU。

我在 Keras 中使用 predict_generator() 时遇到了类似的问题。我运行以下代码:

bottleneck_features_train = bottleneck_model.predict_generator(batches, len(batches), verbose=1) 

当使用 verbose=1 时,我可以看到进度指示器一直显示,但随后出现以下错误:

2300/2300 [==============================] - 177s 77ms/step
---------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-19-d0e463f64f5a> in <module>()
----> 1 bottleneck_features_train =
bottleneck_model.predict_generator(batches, len(batches), verbose=1)

~/anaconda3/lib/python3.6/site-packages/keras/legacy/interfaces.py in
wrapper(*args, **kwargs)
85 warnings.warn('Update your `' + object_name +
86 '` call to the Keras 2 API: ' +
signature, stacklevel=2)
---> 87 return func(*args, **kwargs)
88 wrapper._original_function = func
89 return wrapper

~/anaconda3/lib/python3.6/site-packages/keras/engine/training.py in
predict_generator(self, generator, steps, max_queue_size, workers,
use_multiprocessing, verbose)
2345 return all_outs[0][0]
2346 else:
-> 2347 return np.concatenate(all_outs[0])
2348 if steps_done == 1:
2349 return [out for out in all_outs]

MemoryError:

您能否就此内存问题提出解决方案?谢谢!

最佳答案

对于第一个错误,数据实在是太大了。假设数据类型为int64或float64(每个元素8个字节),则总数据为9200*400*400*3*8字节,即35GB。所有这些数据都以 block 的形式收集,然后通过连接复制到一个大数组中。

你可以预先分配数组,也许它会起作用:

x_ = np.empty((9200,400,400,3))
for i in range(9200):
x_[i] = batches.next()

关于python - np.concatenate 的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48175190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com