我有两个numpy
相当大的数组。第一个是arr1
大小(40, 40, 3580)
,第二个是arr2
大小(3580, 50)
。我想要实现的是
arr_final = np.sum(arr1[..., None]*arr2, axis = 2)
这样 的大小arr_final
就是(40, 40, 50)
。但是,在执行上述操作时,python 可能会缓存内部数组操作,因此我不断收到内存错误。有什么办法可以避免内部缓存并获得最终结果?我也看过了numexpr
,但是不知道怎么实现arr1[..., None]*arr2
的,然后就sum
过来axis=2
了numexpr
。任何帮助或建议将不胜感激。