Pytorch相当于Numpy的logical_and和kin?

Sea*_*ake 3 python numpy pytorch

确实Pytorch有numpy的的元素明智的等效逻辑运算符logical_andlogical_orlogical_notlogical_xor)?在使用CPU时,在Pytorch张量上调用Numpy函数似乎可以很好地工作,甚至生成Pytorch张量作为输出。我主要是因为我假设如果pytorch计算在GPU中运行,那么这将无法很好地工作。

我遍历了Pytorch的文档索引,查找了所有包含字符串“ and”的函数,但似乎没有任何相关性。

kHa*_*hit 8

更新:在Pytorch 1.2中,PyTorch引入了torch.bool数据类型,可以使用torch.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])

Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)