我试图加载一个相当大的numpy数组(~75k图像),但是由于整个数据集被加载到内存中,我不断收到内存错误。 我想使用numpy mmap,但我一直收到ACCESS_READ错误。 当我尝试使用this thread中描述的mmap加载numpy数组时,我总是收到错误:
追踪(最近一次呼叫最后一次):
文件" mmap.py",第29行,in training_images = np.load(' data_small / training_images.npy',mmap_mode =' r',encoding =' latin1')
File" /usr/local/lib/python2.7/site-packages/numpy/lib/npyio.py" ;,第416行,载入中 返回format.open_memmap(file,mode = mmap_mode)
文件" /usr/local/lib/python2.7/site-packages/numpy/lib/format.py",第792行,在open_memmap中 mode = mode,offset = offset)
File" /usr/local/lib/python2.7/site-packages/numpy/core/memmap.py" ;,第205行, new 导入mmap
File" /Users/Bjarnason/Desktop/AVEC/mmap.py" ;,第29行,在 training_images = np.load(' data_small / training_images.npy',mmap_mode =' r',encoding =' latin1')
File" /usr/local/lib/python2.7/site-packages/numpy/lib/npyio.py" ;,第416行,载入中 返回format.open_memmap(file,mode = mmap_mode) 文件" /usr/local/lib/python2.7/site-packages/numpy/lib/format.py",第792行,在open_memmap中 mode = mode,offset = offset)
File" /usr/local/lib/python2.7/site-packages/numpy/core/memmap.py" ;,第257行, new acc = mmap.ACCESS_READ
AttributeError:' module'对象没有属性' ACCESS_READ'
以下是我尝试运行的代码:
将numpy导入为np training_images = np.load(' data_small / training_images.npy',mmap_mode =' r')
答案 0 :(得分:1)
请勿调用您的文件mmap.py
。这将影响numpy使用的Python mmap
库。
numpy库中的文件numpy/core/memmap.py
执行import mmap
。 mmap
是Python标准库的一部分,但您的文件也称为mmap.py
,因此numpy执行的导入会找到您的文件。