擅长:python、mysql、java
<p>可能是内存不足,因为一旦使用此数组调用函数,就会在函数内部创建一个副本,使内存加倍。所以,不要创建额外的数组</p>
<p>您可以保留阵列的全局副本。只需在全局数组上应用这些操作,而无需创建额外副本</p>
<pre><code>import gc
global processedArray # before all your assignment starts
</code></pre>
<p>在我的_进程内()</p>
<pre><code>def my_process():
global processedArray
# do all operations on processedArray
</code></pre>
<pre><code>global processedArray
processedArray = np.pad(dataArray, 25, mode='constant', constant_values=0) # pad
my_process()
del dataArray() # delete not needed arrays to make more space
gc.collect()
global processedArray
processedArray = processedArray[25:-25, 25:-25, 25:-25, :] # unpad
</code></pre>
<p>但是,如果my_进程调用更多的库函数来复制processedArray,那么内存仍然会耗尽。尝试在全局数组上应用所有操作,而不进行任何复制</p>