Estoy usando numpy para crear una matriz de cubos con lados de longitud 100, que contiene un total de 1 millón de entradas. Para cada una de las millones de entradas, estoy insertando una matriz 100x100 cuyas entradas están compuestas de números generados aleatoriamente. Estoy utilizando el siguiente código para hacerlo:¿Cuánta memoria hay en la matriz numpy? ¿Es la RAM un factor 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
me esperaba que esto tenga un tiempo, pero con 10 mil millones de números aleatorios que se generan, no estoy seguro de que mi equipo puede incluso manejar la situación. ¿Cuánta memoria ocuparía una matriz así? ¿Sería la RAM un factor limitante, es decir, si mi computadora no tiene suficiente RAM, podría no generar realmente la matriz?
Además, si hay un más eficiente para implementar este código, le agradecería consejos :)
Suponiendo 'double' precisión, a los 8 bytes cada uno, si Realmente estamos tratando de almacenar 10 mil millones de ellos, eso es 80GB. Si tiene que preguntar, su computadora no tiene suficiente memoria. Dicho eso, parece que los estás creando todos pero no los almacenas, por lo que deberías estar bien. – Gabe