我正在使用numpy創建一個邊長度爲100的立方體數組,因此總共包含100萬個條目。對於每百萬個條目,我插入一個100x100矩陣,其條目由隨機生成的數字組成。我使用下面的代碼可以這樣做:numpy數組有多少內存? RAM是限制因素嗎?
import random
from numpy import *
cube = arange(1000000).reshape(100,100,100)
for element in cube.flat:
matrix = arange(10000).reshape(100,100)
for entry in matrix.flat:
entry = random.random()*100
element = matrix
我期待這需要一段時間,但與正在生成10張十億的隨機數,我不知道我的電腦甚至可以處理它。這樣一個數組佔用多少內存? RAM是否會成爲一個限制因素,即如果我的計算機沒有足夠的RAM,它是否可能無法真正生成陣列?
另外,如果有一個更有效的實現這個代碼,我將不勝感激提示:)
假設'double'精度,在8個字節的每個,如果你真的試圖存儲100億,這是80GB。如果你不得不問,你的電腦沒有足夠的內存。也就是說,它看起來像你正在創建它們,但沒有存儲它們,所以你應該沒問題。 – Gabe