优化Python代码我有一个Python代码如下:内存效率
import numpy as np
sizes = 2000
array1 = np.empty((sizes, sizes, sizes, 3), dtype=np.float32)
for i in range(sizes):
array1[i, :, :, 0] = 1.5*i
array1[:, i, :, 1] = 2.5*i
array1[:, :, i, 2] = 3.5*i
array2 = array1.reshape(sizes*sizes*sizes, 3)
#do something with array2
array3 = array2.reshape(sizes*sizes*sizes, 3)
我希望来优化内存使用效率,这个代码,但我不知道。我可以通过更高效的内存方式使用“numpy.reshape”吗?
重塑不会让您的程序更高效的内存。就你而言,你似乎有3 * 3大小的浮动元素。重塑会改变矩阵的形状,但是元素的数量以及它们所占用的内存将保持不变。但是,矩阵中的每个值都显示为大小^ 2倍。创建这种4D矩阵的意义不明确。你想用它来做什么? –