Hi, On Sun, Dec 6, 2015 at 12:39 PM, DAVID SAROFF (RIT Student) <dps7...@rit.edu> wrote: > This works. A big array of eight bit random numbers is constructed: > > import numpy as np > > spectrumArray = np.random.randint(0,255, (2**20,2**12)).astype(np.uint8) > > > > This fails. It eats up all 64GBy of RAM: > > spectrumArray = np.random.randint(0,255, (2**21,2**12)).astype(np.uint8) > > > The difference is a factor of two, 2**21 rather than 2**20, for the extent > of the first axis.
I think what's happening is that this: np.random.randint(0,255, (2**21,2**12)) creates 2**33 random integers, which (on 64-bit) will be of dtype int64 = 8 bytes, giving total size 2 ** (21 + 12 + 6) = 2 ** 39 bytes = 512 GiB. Cheers, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion