[英]Convert list to numpy array without using much RAM
我想將形狀為 (1200, 140, 150, 130) 的列表轉換為 numpy 數組,但標准的numpydata = np.array(mylist)
使用了大量內存。
有沒有減少內存消耗的方法來做到這一點?
如果最終結果有內存,但np.array
內部使用了太多內存,您可能會繞過以塊為單位處理列表的問題。 例如:
In [236]: res = np.zeros((10,3,4),int)
In [237]: alist = np.random.randint(0,10,(10,3,4)).tolist()
In [238]: for i,row in enumerate(alist):
...: res[i] = row
In [240]: np.allclose(res, np.array(alist))
Out[240]: True
對於小數組,此迭代會更慢,但對於大數組,內存管理問題可能會超過迭代成本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.