PyTorch 中的 eq 和 ne
请我喝杯咖啡☕
*备忘录:
- 我的帖子解释了 gt() 和 lt()。
- 我的帖子解释了 ge() 和 le()。
- 我的帖子解释了 isclose() 和 equal()。
eq() 可以检查第一个 0d 或更多 d 张量的零个或多个元素是否等于第二个 0d 或更多 d 张量的零个或多个元素,得到 0d 或更多 d 张量零个或多个元素,如下所示:
*备忘录:
- eq() 可以与 torch 或张量一起使用。
- 第一个参数(输入)使用 torch 或使用张量(必需类型:int、float、complex 或 bool 的张量)。
- 带有 torch 的第二个参数或带有张量的第一个参数是其他(必需类型:张量或 int、float、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 的第二个参数或带有张量的第一个参数是其他(必需类型:张量或 int、float、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的详细内容,更多请关注其它相关文章!