我想将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