NumPy的load()
函數returns a lazy file loader,而不是加載npz
文件時的實際數據。如何加載npz
文件,以便將數據加載到內存中?如何以非懶惰的方式加載npz文件?
1
A
回答
3
如果要強制數組的內容被讀取並解壓縮,只是分配其內容變量,例如:
data = np.load('/path/to/data.npz', 'r')
a = data['a']
b = data['b']
# etc
如果你想保持完全相同的語法與延遲加載器,你可以簡單所有的陣列加載到一個字典,如:
data_dict = dict(data)
所以,現在你可以使用
data_dict['a']
在腳本的後面部分提及a
。儘管如此,我個人不會保留字典,因爲它擁有對所有數組的引用,可以防止任何單獨的未使用的字符在稍後的腳本中被垃圾回收。
2
我想你在以前的一個關於速度回答你的問題:現在
data = np.load(dataset_text_filepath)['texts']
文件內容是在內存中。
該.npz
文件是一個zip存檔,具有多個數組。使load
爲2步操作的原因是您可能總是希望一次加載所有陣列。它可以讓你加載x
而無需加載y
。
您可以使用系統zip歸檔工具來提取一個或多個文件,然後直接加載。這對於更好地理解文件結構可能是一個有用的步驟。
爲了更直接,您需要學習np.lib.npyio.NpzFile
或者gzip
模塊。
相關問題
- 1. 如何以編程方式檢查懶惰/渴望加載
- 2. 懶惰加載不加載
- 3. 懶惰加載flexslider
- 4. GWT懶惰加載
- 5. Android懶惰加載
- 6. 懶惰加載Ninject
- 7. Autofac懶惰加載
- 8. Eclipselink懶惰加載
- 9. Tie :: File懶惰地加載文件?
- 10. F#懶惰評估與非懶惰
- 11. 如何以編程方式確定應該加載一個懶惰的集合?
- 12. ASP.NET持久緩存(「懶惰加載」式?)
- 13. 如何「懶惰」加載小部件,使GWT加載更快
- 14. 學說懶惰加載
- 15. Hibernate懶惰加載HQL
- 16. 混淆懶惰加載
- 17. 是ZODB PersistentLists懶惰加載?
- 18. 懶惰在Blogger上加載
- 19. Android listview懶惰加載
- 20. 動畫懶惰加載ArrayAdapter
- 21. 懶惰加載視圖
- 22. 懶惰加載CSS與js
- 23. jQuery mobile listviews懶惰加載
- 24. 用webpack懶惰加載angular2
- 25. 懶惰加載博客文章
- 26. Ionic 2懶惰加載組件
- 27. 流沙插件和懶惰加載器
- 28. 懶惰的圖像加載和卸載
- 29. 如何以懶惰的方式調用jquery的.find?
- 30. 懶惰加載和懶惰評估有什麼區別?
這樣做的動機是什麼? –
@ali_m我需要在我的程序中的幾個位置使用加載的npz的內容(在一個循環中,更加精確)。 –