第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

numpy.savez之后出現(xiàn)np.load的斷言錯誤

numpy.savez之后出現(xiàn)np.load的斷言錯誤

Qyouu 2021-03-29 21:09:04
我有5個numpy數(shù)組a,b,c,d,e所有都定義為:array([1, 2, 3, 4, 5, 6, 7, 8, 9])我這樣保存這些數(shù)組:np.savez_compressed('tmp/test',a=a,b=b,c=c,d=d,e=e)這將導(dǎo)致文件test.npz被創(chuàng)建。但是我在嘗試加載數(shù)據(jù)時遇到了問題(下面的示例在這里):>>> f=np.load('tmp/test.npz')>>> f.files['a', 'c', 'b', 'e', 'd']>>> f['a']給出大量的錯誤,結(jié)尾為:File "C:\Python27\lib\compiler\transformer.py", line 754, in atom_lbracereturn self.com_dictorsetmaker(nodelist[1])File "C:\Python27\lib\compiler\transformer.py", line 1214, in com_dictorsetmakerassert nodelist[0] == symbol.dictorsetmakerAssertionError我已經(jīng)考慮使用pickle代替。但是,這導(dǎo)致文件大小是.npz文件的四倍,因此我想使用savez或savez_compressed。有誰知道我在做什么錯,或者有其他方法的建議?這是一個會產(chǎn)生錯誤的腳本:def saver():    import numpy as np    a= np.arange(1,10)    b=a    c=a    d=a    e=a    np.savez_compressed('tmp/test',a=a,b=b,c=c,d=d,e=e)    f=np.load('tmp/test.npz')    print f.files    print f['a']
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊

在Linux或Mac上都無法重現(xiàn)您的問題(Python 2.7,numpy 1.6.1 / 1.7.1)


但是,我注意到您使用相對路徑來保存file tmp/test.npz。那是故意的嗎?在我的回憶中,Windows的新版本對嘗試在某些目錄(例如“ / Program Files /”)中創(chuàng)建的新文件進(jìn)行了特殊處理-它會將它們移開,但在某些情況下仍會告訴應(yīng)用程序它們在那里。在這里似乎不太可能出現(xiàn)這種情況,但是您可以為要保存的文件嘗試絕對路徑嗎?


順便說一句:作為ZIP歸檔文件(savez savez_compressed創(chuàng)建文件)的替代方法,您可以嘗試將“ LZMAFile”作為文件對象的泡菜。它提供了很好的壓縮率(但是可能很慢,并且在壓縮/保存文件時需要更多的內(nèi)存和時間);


它用作任何其他文件對象包裝器,類似的東西(用于加載腌制的數(shù)據(jù)):


from lzma import LZMAFile

import cPickle as pickle


if fileName.endswith('.xz'):

    dataFile = LZMAFile(fileName,'r')

else:

    dataFile = file(fileName, 'ro')     

data = pickle.load(dataFile)


查看完整回答
反對 回復(fù) 2021-04-02
  • 3 回答
  • 0 關(guān)注
  • 817 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號