矩阵乘法与按位运算符
Matrix multiplication with bitwise operators
我想创建一个位掩码向量来屏蔽哪些值大于给定值。类似于 [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]
我想创建一个位掩码向量来屏蔽哪些值大于给定值。类似于 [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]