[Примечание: хотя уже есть несколько сообщений о работе с большими матрицами в numpy, они не касаются моих конкретных c проблем.]
Я пытаюсь загрузить матрицу 30820x12801, хранящуюся в файл .txt размером 1,02 ГБ с расширением numpy.loadtxt()
. Я получаю Memory error
.
Это было бы не так уж удивительно, за исключением того, что:
- Я использую 64-битный Python.
- Я использую работа в суперкомпьютере с выделенной для него виртуальной памятью 50 ГБ.
Насколько я знаю, матрица 1 ГБ не должна быть проблемой для 64-битных Python и уж точно не должна быть проблемой для 50 ГБ ОЗУ.
(Я впервые имею дело с большими наборами данных, поэтому мне может что-то не хватать c).
Дополнительная информация:
- При использовании open () файл без проблем загружается в Python.
- Вывод
ulimit -a | grep "max memory size
: '(kbytes, -m) unlimited' - Full сообщение об ошибке:
Traceback (most recent call last):
File "jPCA/jPCA_pipeline.py", line 87, in <module>
MATRIX = get_matrix(new_file_prefix, N)
File "jPCA/jPCA_pipeline.py", line 70, in get_matrix
MATRIX = np.loadtxt('{}_N={}.txt'.format(new_file_prefix, N))
File "/home/hers_en/fsimoes/miniconda3/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1159, in loadtxt
for x in read_data(_loadtxt_chunksize):
File "/home/hers_en/fsimoes/miniconda3/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1087, in read_data
items = [conv(val) for (conv, val) in zip(converters, vals)]
File "/home/hers_en/fsimoes/miniconda3/lib/python3.7/site-packages/numpy/lib/npyio.py", line 1087, in <listcomp>
items = [conv(val) for (conv, val) in zip(converters, vals)]
MemoryError