我想创建一个位掩码向量来屏蔽大于给定值的值。类似于 [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]