2016-03-07 23 views
0

我想裝載兩個內存映射文件,加載多個內存映射文件與numpy的

temp = numpy.load(currentDirectory + "\\tmp\\temperature.npy", mmap_mode='r') 
salinity = numpy.load(currentDirectory + "\\tmp\\salinity.npy", mmap_mode='r') 

但是Python引發以下錯誤:

IOError: Failed to interpret file 'C:\\my\\file\\path\\..\\tmp\\salinity.npy' as a pickle 

當我加載通過其自身,它工作得很好。

這些文件非常大(〜500MB),但是我不認爲它們是值得注意的。

這裏的問題是什麼?

+0

同樣的事情發生在較小的文件?如果您顯示這些文件的「shape」和「dtype」(單獨加載),它可能會有所幫助。 – hpaulj

+0

Hi @hpaulj,shape ='(1,102,720,1440)'和type ='float32'。我會給一些小文件一試,看看會發生什麼... – rowanwins

+0

嗨@hpaulj它似乎工作正常,當我有兩個小文件...我想知道如果我用盡內存來解釋文件? – rowanwins

回答

0

這適用於我。這兩個文件都大於5GB。

X = np.load(os.path.join(path, '_file1.npy'), mmap_mode='r') 
Y = np.load(os.path.join(path, '_file2.npy'), mmap_mode='r') 

您正在使用哪種操作系統?問題不在於「npy」文件的大小,而是路徑中的「\」出現問題。改變你的路徑爲:

path = '/media/gtx1060/DATA/Datasets'