2017-05-08 95 views
0

我試圖加載一個相當大的numpy數組(〜75k圖像),但是由於整個數據集被加載到內存中,我不斷收到內存錯誤。 我想使用numpy mmap,但我一直收到ACCESS_READ錯誤。 當我嘗試在this thread descriped加載使用mmap的numpy的陣列我總是得到錯誤:numpy.load使用mmap時ACCESS_READ錯誤

Traceback (most recent call last):

File "mmap.py", line 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", line 416, in load return format.open_memmap(file, mode=mmap_mode)

File "/usr/local/lib/python2.7/site-packages/numpy/lib/format.py", line 792, in open_memmap mode=mode, offset=offset)

File "/usr/local/lib/python2.7/site-packages/numpy/core/memmap.py", line 205, in new import mmap

File "/Users/Bjarnason/Desktop/AVEC/mmap.py", line 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", line 416, in load return format.open_memmap(file, mode=mmap_mode) File "/usr/local/lib/python2.7/site-packages/numpy/lib/format.py", line 792, in open_memmap mode=mode, offset=offset)

File "/usr/local/lib/python2.7/site-packages/numpy/core/memmap.py", line 257, in new acc = mmap.ACCESS_READ

AttributeError: 'module' object has no attribute 'ACCESS_READ'

這裏是我試圖運行代碼:

import numpy as np training_images = np.load('data_small/training_images.npy', mmap_mode='r')

回答

1

別叫您的檔案mmap.py。這將影響numpy使用的Python mmap庫。

numpy庫中的文件numpy/core/memmap.py執行import mmapmmap是Python標準庫的一部分,但是您的文件也被稱爲mmap.py,因此numpy執行的導入會查找您的文件。

+0

我試着將文件的名稱改爲'prufa.py',但那不起作用,不幸的是 –

+0

「......那沒有用......」那麼你會得到完全相同的錯誤?您在任何地方都沒有名爲'mmap.py'的文件?如果您正在使用交互式shell,是否退出並重新啓動它? –

+0

我的不好,還有一個名爲'mmap.pyc'的文件。這工作,非常感謝你! –