以下代码产生一个 C-contiguous 的 numpy 数组:
现在如果我对其进行切片,结果可能不再相同。例如:
从0到4循环
我不想重写我的代码,以至于:
import numpy
a = numpy.ones((1024,1024,5))
现在如果我对其进行切片,结果可能不再相同。例如:
bn = a[:, :, n]
从0到4循环
n
。
我的问题是我需要bn
是C连续的,并且我需要对许多a实例执行此操作。我只需要每个bn
一次,并希望避免这样做。bn = bn.copy(order='C')
我不想重写我的代码,以至于:
a = numpy.ones((5,1024,1024))
有没有比复制更快、更便宜的方法来获取bn
?
背景:
我想对每个a
的每个片段进行哈希处理,使用:
import hashlib
hashlib.sha1(a[:, :, n]).hexdigest()
不幸的是,这会引发一个ValueError
,抱怨顺序错误。所以如果有另一种快速获取我想要的哈希的方法,我也会使用它。