python – 使用按位运算符的矩阵乘法

我想创建一个掩码中的哪个值大于给定值的位掩码矢量.类似于[1,2,3,4,5] * [> 3,> 3,> 3,> 3,> 3] = [0,0,0,1,1]的东西.我希望能够在theano上运行它以获得更快的矩阵运算计算时间.是否有线性代数过程可以使用按位运算符或位来编写以创建此位掩码?我目前正在循环这个矩阵,我想使用theano将计算移动到GPU,这需要更多的矩阵乘法.谢谢你的帮助. 最佳答案 您可以通过矩阵之间的逻辑运算获得您想要的结果.

例如

print((np.r_[1, 2, 3, 4, 5] > 3))

会给

[False False False  True  True]

如果你想要整数,你可以做

print((np.r_[1, 2, 3, 4, 5] > 3).astype(int) )

得到

[0 0 0 1 1]
点赞