将numpy数组运算符保留在np.32中
将float32矩阵除以int32矩阵得到float64矩阵。现在我要做什么将numpy数组运算符保留在np.32中,numpy,precision,Numpy,Precision,将float32矩阵除以int32矩阵得到float64矩阵。现在我要做什么 a = np.random.random((512,512,3)).astype(np.float32) b = np.ones((512,512,1), dtype=np.int32) c = a / b c.dtype >> dtype('float64') 这是CPU的额外工作。我有没有办法避免最后的转换并告诉numpy用float32做这项工作?您必须使用np.divide()的out参数 在N
a = np.random.random((512,512,3)).astype(np.float32)
b = np.ones((512,512,1), dtype=np.int32)
c = a / b
c.dtype
>> dtype('float64')
这是CPU的额外工作。我有没有办法避免最后的转换并告诉numpy用float32做这项工作?您必须使用
np.divide()
的out
参数
在NUMPY1.6中,您将能够执行c=np.divide(a,b,dtype=np.float32)
return c.astype(np.float32)
[~/scratch]
|1> a = np.random.random((512,512,3)).astype(np.float32)
[~/scratch]
|2> b = np.ones((512,512,1), dtype=np.int32)
[~/scratch]
|3> c = np.empty_like(a)
[~/scratch]
|4> c = np.divide(a, b, c)
[~/scratch]
|5> c.dtype
dtype('float32')