web-dev-qa-db-ja.com

Numpyのlogical_andとkinの同等のPytorch?

PytorchにはNumpyの要素単位の等価な 論理演算子logical_andlogical_orlogical_notlogical_xor)? PytorchテンソルでNumpy関数を呼び出すと、CPUを使用するときに十分に機能し、出力としてPytorchテンソルを生成するように見えます。 pytorch計算がGPUで実行されている場合、これはあまりうまく機能しないと思うので、主に尋ねます。

私は、文字列 "and"を含むすべての関数で Pytorchのドキュメントインデックス を調べましたが、関連するものはありません。

3
Sean Lake

更新:Pytorch 1.2で、PyTorchが導入されましたtorch.booltorch.BoolTensorを使用して使用できるデータ型

>>> a = torch.BoolTensor([False, True, True, False])  # or pass [0, 1, 1, 0]
>>> b = torch.BoolTensor([True, True, False, False])

>>> a & b  # logical and
tensor([False,  True, False, False])


PyTorchは ByteTensor の論理演算をサポートしています。次のように、&|^~演算子を使用して論理演算を使用できます。

>>> a = torch.ByteTensor([0, 1, 1, 0])
>>> b = torch.ByteTensor([1, 1, 0, 0])

>>> a & b  # logical and
tensor([0, 1, 0, 0], dtype=torch.uint8)

>>> a | b  # logical or
tensor([1, 1, 1, 0], dtype=torch.uint8)

>>> a ^ b  # logical xor
tensor([1, 0, 1, 0], dtype=torch.uint8)

>>> ~a  # logical not
tensor([1, 0, 0, 1], dtype=torch.uint8)
8
kHarshit

ロジックと:

a * b

ロジックまたは:

a + b
2
lbsweek