torch.logical_and()方法

torch.logical_and()计算给定输入张量的元素逻辑 AND。零被视为False,非零被视为 True

官方文档说明: https://pytorch.org/docs/stable/generated/torch.logical_and.html#torch.logical_and
torch.logical_and(input, other, *, out=None) →返回张量

  • input(张量) – 输入张量
  • other(张量) – 用于计算 AND 的张量
  • out (张量,可选)– 输出张量
    具体例子: 输入两个tensor类型的变量input和other对应的位置进行求与操作,如果是张量内部数字类型,非0转化为True, 0转化为False

1.不带out参数类型

import torch
# 不带out参数类型
a = torch.tensor([True, False, True])
b = torch.tensor([True, False, False])
print(torch.logical_and(a, b))
# tensor([ True, False, False])

a = torch.tensor([0, 1, 10, 0], dtype=torch.int8)   # 非0 True, 0 False
b = torch.tensor([4, 0, 1, 0], dtype=torch.int8)    # 非0 True, 0 False
print(torch.logical_and(a, b))

输出结果:
在这里插入图片描述

2.带out参数类型

输出多一个后缀

import torch
# 带out参数类型
a = torch.tensor([0, 1, 10, 0], dtype=torch.int8)
b = torch.tensor([4, 0, 1, 0], dtype=torch.int8)

print(torch.logical_and(a, b, out=torch.empty(4, dtype=torch.bool)))    # 返回boolean类型
# tensor([False, False,  True, False])

print(torch.logical_and(a, b, out=torch.empty(4, dtype=torch.int)))     # 返回int32类型
# tensor([0, 0, 1, 0], dtype=torch.int32)

print(torch.logical_and(a, b, out=torch.empty(4, dtype=torch.double)))  # 返回double类型
# tensor([0., 0., 1., 0.], dtype=torch.float64)

输出结果:
在这里插入图片描述

3.二维和其他例子

import torch
# 其他例子
a = torch.tensor([0, 1, 3, 2, 2])
b = torch.tensor([1, 1, 0, 1, 2])

print(a == b)       # tensor([False,  True, False, False,  True])
print(b != 2)       # tensor([ True,  True,  True,  True, False])
print(torch.logical_and(a==b, b != 2))
# tensor([False,  True, False, False, False])

print("=" * 100)
# 其他例子
a = torch.tensor([[0, 1, 3, 2, 2],
                  [0, 3, 1, 0, 2]])

b = torch.tensor([[1, 1, 0, 1, 2],
                  [1, 1, 2, 0, 2]])
print(torch.logical_and(a, b))
# tensor([[False,  True, False,  True,  True],
#         [False,  True,  True, False,  True]])

输出结果:
在这里插入图片描述
用于笔记记录
本人水平有限 如有错误欢迎指正交流

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值