python - Pytorch 相当于 Numpy 的 logical_and 和 kin?

标签 python numpy pytorch

Pytorch 是否具有 Numpy 的元素方面的等价物 logical operators (logical_andlogical_orlogical_notlogical_xor)?在使用 CPU 时,在 Pytorch 张量上调用 Numpy 函数似乎工作得很好,甚至生成 Pytorch 张量作为输出。我问的主要是因为我假设如果 pytorch 计算在 GPU 中运行,这将不会很好地工作。

我已经查看了 Pytorch's documentation index在所有包含字符串“and”的函数中,似乎都不相关。

最佳答案

更新:在 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])


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)

关于python - Pytorch 相当于 Numpy 的 logical_and 和 kin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54590661/

相关文章:

cuda - 如何确保 Vulkan 使用与 CUDA 相同的 GPU?

python - 是否可以在 AppEngine 上检索 uri block ?

python - 在 Python 中多久使用一次静态方法

python - Theano中变量的形状有什么区别

tensorflow - 隐藏状态张量与返回张量的顺序不同

pytorch - 将张量转换为索引的一个热编码张量

python - 使用Python API以编程方式克隆Kubernetes对象

python - 尝试通过表单创建 Django 模型实例,但我只想从表单中提取一些字段并手动设置其他字段

python - 使用 numpy-1.15.0 时没有模块错误

python - 什么是指向数组数据开头的 Python 缓冲区对象?