2017-01-14 19 views
4

どの値が所定の値より大きいかをマスクするビットマスクベクトルを作成します。 [1、2、3、4、5] * [> 3、> 3、> 3、> 3、> 3] = [0、0、0、1、1]私は、マトリックス演算のためのより速い計算時間を得るためにこれをtheanoで実行できるようにしたい。このビットマスクを作成するためにビット演算子またはビットを使用して記述できる線形代数手続きはありますか?私は現在、この行列をループしており、より多くの行列乗算を必要とするtheanoを使って計算をGPUに移動したいと考えています。助けてくれてありがとう。ビット単位の演算子による行列乗算

+1

減算3を取得し、見ることができますサインビット? – DyZ

答えて

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] 
+1

大変ありがとうございます!これはまさに私が必要としたものでした! – Kyle

関連する問題