Sto usando numpy per creare un cubo array con lati di lunghezza 100, quindi contenente 1 milione di voci totali. Per ognuna delle milioni di voci, inserisco una matrice 100x100 le cui voci sono composte da numeri generati casualmente. Sto usando il seguente codice per farlo:Quanta memoria nell'array numpy? La RAM è un fattore limitante?
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
mi aspettavo questo per prendere un po ', ma con 10 miliardi di numeri casuali generati, non sono sicuro che il mio computer è in grado anche di gestirlo. Quanta memoria occuperebbe un simile array? La RAM sarebbe un fattore limitante, cioè se il mio computer non ha abbastanza RAM, potrebbe non riuscire a generare effettivamente l'array?
Inoltre, se v'è una più efficiente per implementare questo codice, apprezzerei suggerimenti :)
Supponendo 'double' precisione, a 8 byte ognuno, se stanno davvero cercando di archiviare 10 miliardi di loro, ovvero 80 GB. Se devi chiedere, il tuo computer non ha abbastanza memoria. Detto questo, sembra che tu li stia creando tutti ma non li memorizzi, quindi dovresti stare bene. – Gabe