【发布时间】:2017-03-27 10:05:53
【问题描述】:
所以在定点迭代中,我改变了矩阵的初始化方式
def init(M,N):
return 2.5*np.ones([M,N])
到
def init(M,N):
return nprnd.randint(1,6,[M,N])
在哪里
import numpy as np
import numpy.random as nprnd
这立即引起了
A -= step_size * G
TypeError:无法使用转换规则“same_kind”将 ufunc 减去输出从 dtype('float64') 转换为 dtype('int32')
很重要,我会的
nprnd.randint(1,6,[M,N], dtype='float')
除了
TypeError: randint 的数据类型“float64”不受支持
我该如何规避这个问题?我有点不想生成一个矩阵然后复制它只是为了将它转换为浮动。有没有更智能的方法?
【问题讨论】:
-
如果您想要这些范围之间的随机浮点值,您还可以使用np.random.random_sample 创建矩阵
5 * np.random.random_sample((M,N)) + 1。 -
@umutto 谢谢,但我想要整数,我只是需要它们作为浮点数。
-
@User1291 你能显示更多代码吗?特别是
G是什么,A是什么,step_size是什么。