PyTorch 中的 eq 和 ne

pytorch 中的 eq 和 ne

请我喝杯咖啡☕

*备忘录:

  • 我的帖子解释了 gt() 和 lt()。
  • 我的帖子解释了 ge() 和 le()。
  • 我的帖子解释了 isclose() 和 equal()。

eq() 可以检查第一个 0d 或更多 d 张量的零个或多个元素是否等于第二个 0d 或更多 d 张量的零个或多个元素,得到 0d 或更多 d 张量零个或多个元素,如下所示:

*备忘录:

  • eq() 可以与 torch 或张量一起使用。
  • 第一个参数(输入)使用 torch 或使用张量(必需类型:int、float、complex 或 bool 的张量)。
  • 带有 torch 的第二个参数或带有张量的第一个参数是其他(必需类型:张量或 intfloat、complex 或 bool 标量)。
  • torch 存在 out 参数(可选-默认:无-类型:张量): *备注:
    • 必须使用 out=。
    • 我的帖子解释了论点。
  • 结果是具有更多元素的更高 d 张量。
import torch

tensor1 = torch.tensor([5, 0, 3])
tensor2 = torch.tensor([7, 0, 3])

torch.eq(input=tensor1, other=tensor2)
tensor1.eq(other=tensor2)
torch.eq(input=tensor2, other=tensor1)
# tensor([false, true, true])

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
                        [6, 3, 5]])
torch.eq(input=tensor1, other=tensor2)
torch.eq(input=tensor2, other=tensor1)
# tensor([[false, true, false],
#         [false, false, true]])

torch.eq(input=tensor1, other=3)
# tensor(false)

torch.eq(input=tensor2, other=3)
# tensor([[true, false, false],
#         [false, true, false]])

tensor1 = torch.tensor([5, 0, 3])
tensor2 = torch.tensor([[5, 5, 5],
                        [0, 0, 0],
                        [3, 3, 3]])
torch.eq(input=tensor1, other=tensor2)
torch.eq(input=tensor2, other=tensor1)
# tensor([[true, false, false],
#         [false, true, false], 
#         [false, false, true]])

torch.eq(input=tensor1, other=3)
# tensor([false, false, true])

torch.eq(input=tensor2, other=3)
# tensor([[false, false, false],
#         [false, false, false],
#         [true, true, true]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[5., 5., 5.],
                        [0., 0., 0.],
                        [3., 3., 3.]])
torch.eq(input=tensor1, other=tensor2)
# tensor([[true, false, false],
#         [false, true, false], 
#         [false, false, true]])

torch.eq(input=tensor1, other=3.)
# tensor([false, false, true])

tensor1 = torch.tensor([5.+0.j, 0.+0.j, 3.+0.j])
tensor2 = torch.tensor([[5.+0.j, 5.+0.j, 5.+0.j],
                        [0.+0.j, 0.+0.j, 0.+0.j],
                        [3.+0.j, 3.+0.j, 3.+.0j]])
torch.eq(input=tensor1, other=tensor2)
# tensor([[true, false, false],
#         [false, true, false],
#         [false, false, true]])

torch.eq(input=tensor1, other=3.+0.j)
# tensor([false, false, true])

tensor1 = torch.tensor([true, false, true])
tensor2 = torch.tensor([[true, false, true],
                        [false, true, false],
                        [true, false, true]])
torch.eq(input=tensor1, other=tensor2)
# tensor([[true, true, true],
#         [false, false, false],
#         [true, true, true]])

torch.eq(input=tensor1, other=true)
# tensor([true, false, true])

ne() 可以按元素检查第一个 0d 或更多 d 张量的零个或多个元素是否不等于第二个 0d 或更多 d 张量的零个或多个元素,得到 0d 或更多 d 张量零个或多个元素,如下所示:

*备忘录:

  • ne() 可以与 torch 或张量一起使用。
  • 第一个参数(输入)使用 torch 或使用张量(必需类型:int、float、complex 或 bool 的张量)。
  • 带有 torch 的第二个参数或带有张量的第一个参数是其他(必需类型:张量或 intfloat、complex 或 bool 标量)。
  • torch 存在 out 参数(可选-默认:无-类型:张量): *备注:
    • 必须使用 out=。
    • 我的帖子解释了论点。
  • not_equal() 是 ne() 的别名。
import torch

tensor1 = torch.tensor([5, 0, 3])
tensor2 = torch.tensor([7, 0, 3])

torch.ne(input=tensor1, other=tensor2)
tensor1.ne(other=tensor2)
torch.ne(input=tensor2, other=tensor1)
# tensor([True, False, False])

tensor1 = torch.tensor(5)
tensor2 = torch.tensor([[3, 5, 4],
                        [6, 3, 5]])
torch.ne(input=tensor1, other=tensor2)
torch.ne(input=tensor2, other=tensor1)
# tensor([[True, False, True],
#         [True, True, False]])

torch.ne(input=tensor1, other=3)
# tensor(True)

torch.ne(input=tensor2, other=3)
# tensor([[False, True, True],
#         [True, False, True]])

tensor1 = torch.tensor([5, 0, 3])
tensor2 = torch.tensor([[5, 5, 5],
                        [0, 0, 0],
                        [3, 3, 3]])
torch.ne(input=tensor1, other=tensor2)
torch.ne(input=tensor2, other=tensor1)
# tensor([[False, True, True],
#         [True, False, True],
#         [True, True, False]])

torch.ne(input=tensor1, other=3)
# tensor([True, True, False])

torch.ne(input=tensor2, other=3)
# tensor([[True, True, True],
#         [True, True, True],
#         [False, False, False]])

tensor1 = torch.tensor([5., 0., 3.])
tensor2 = torch.tensor([[5., 5., 5.],
                        [0., 0., 0.],
                        [3., 3., 3.]])
torch.ne(input=tensor1, other=tensor2)
# tensor([[False, True, True],
#         [True, False, True],
#         [True, True, False]])

torch.ne(input=tensor1, other=3.)
# tensor([True, True, False])

tensor1 = torch.tensor([5.+0.j, 0.+0.j, 3.+0.j])
tensor2 = torch.tensor([[5.+0.j, 5.+0.j, 5.+0.j],
                        [0.+0.j, 0.+0.j, 0.+0.j],
                        [3.+0.j, 3.+0.j, 3.+.0j]])
torch.ne(input=tensor1, other=tensor2)
# tensor([[False, True, True],
#         [True, False, True],
#         [True, True, False]])

torch.ne(input=tensor1, other=3.+0.j)
# tensor([True, True, False])

tensor1 = torch.tensor([True, False, True])
tensor2 = torch.tensor([[True, False, True],
                        [False, True, False],
                        [True, False, True]])
torch.ne(input=tensor1, other=tensor2)
# tensor([[False, False, False],
#         [True, True, True],
#         [False, False, False]])

torch.ne(input=tensor1, other=True)
# tensor([False, True, False])

以上就是PyTorch 中的 eq 和 ne的详细内容,更多请关注其它相关文章!