我想將Numpy數組列表保存到文件中。名單如下形狀:從列表中創建具有不匹配軸> 0大小的列表
my_list = [np.ones((2, 515, 3)), np.ones((2, 853, 3))]
然而,當我嘗試使用np.savez
保存,列表試圖獲取轉換爲NumPy的陣列。這樣做np.array(my_list, dtype='object')
給出了錯誤:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-8-6fcbd172df30> in <module>()
----> 1 np.array([np.ones((2, 515, 3)), np.ones((2, 853, 3))], dtype='object')
ValueError: could not broadcast input array from shape (2,515,3) into shape (2)
但是,如果axis=0
尺寸不匹配,而不是在axis=1
尺寸,如my_list = [np.ones((515, 3)), np.ones((853, 3))]
的,我不再出現此錯誤。
爲什麼不匹配的軸尺寸會影響物體的Numpy數組的能力?
儘管可以將陣列分解爲可保存的格式,但我最感興趣的是轉換失敗發生的原因以及如何避開它。
我認爲這my_list = [np.ones(2,515,3),np.ones(2,853,3)]不起作用,你看過那些簽名嗎? np.ones(形狀,類型,次序)? – Eliethesaiyan
你試過用這個my_list = [np.ones((2,515,3)),np.ones((2,853,3))] ? – Eliethesaiyan
形狀是指定軸的形狀,(2是行(軸0,515是列(axis = 1)) – Eliethesaiyan