[英]Storing/Loading huge numpy array with less memory
我有一個形狀為numpy的數組(20000、600、768)。 我需要存儲它,因此以后可以將其加載回我的代碼中。 主要問題是將其重新加載時的內存使用情況。 我只有16GB的RAM。
例如,我嘗試了泡菜。 當它加載時,我幾乎沒有剩余的內存來做其他事情。 特別是訓練模型。
我嘗試使用hdf5(h5py)進行寫入和加載。 只是一小部分(1000、600、768)。 但是似乎它“吃掉”了更多的內存。
也嘗試過csv。。那只是一個禁忌。 花費太多時間來寫入數據。
我將對如何存儲陣列的任何建議表示感謝,這樣當我將其加載回該陣列時不會占用太多內存。
PS我存儲的數據是文本的矢量表示,后來用於訓練模型。
我認為您可以做很多事情。
首先,您可以更改數據格式以不同的方式進行存儲:
其次,也是最重要的是, 您需要更改算法 。 如果無法將所有數據容納在內存中,則需要使用其他類型的方法,其中使用批處理數據而不是所有數據。
例如,對於機器學習,有很多方法可以使用大量數據對模型進行增量更新
第三,有些方法可以減少訓練集的維數 。 例如使用PCA,功能選擇等方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.