矩阵乘法与按位运算符

时间:2017-01-14 18:55:15

标签: python linear-algebra theano matrix-multiplication

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

1 个答案:

答案 0 :(得分:2)

您可以通过矩阵之间的逻辑运算获得您想要的内容。 例如

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]