背景:當讀取一個key value數據的時候,python的字典結構會形成內存使用擴10倍左右,無可容忍。此文解決這個問題python
數據:word2vec訓練的結果,word對應400維的詞向量。詞表共1.6G左右3d
解決方案:利用python的class array進行解決。blog
步驟:一、將原始數據,轉化成key,index和 二進制的value數據塊文件,其中二進制的value數據塊大小爲750M索引
二、array加載後按照索引進行查詢 效果:只佔用了800M左右內存,大大縮小了內存的使用。查詢採用:vec[i] += word2vec_array[index*word2vec_dim + i]內存
培治class