Rumah > Artikel > pembangunan bahagian belakang > isclose dan sama dalam PyTorch
Beli Saya Kopi☕
*Memo:
isclose() boleh menyemak sama ada sifar atau lebih elemen bagi tensor 0D pertama atau lebih D adalah sama atau hampir sama dengan sifar atau lebih elemen bagi elemen tensor 0D ke-2 atau lebih D dari segi elemen, mendapat 0D atau lebih D tensor sifar atau lebih elemen seperti yang ditunjukkan di bawah:
*Memo:
import torch tensor1 = torch.tensor([1.00001001, 1.00000996, 1.00000995, torch.nan]) tensor2 = torch.tensor([1., 1., 1., torch.nan]) torch.isclose(input=tensor1, other=tensor2) torch.isclose(input=tensor1, other=tensor2, rtol=1e-05, atol=1e-08, equal_nan=False) # 0.00001 # 0.00000001 tensor1.isclose(other=tensor2) torch.isclose(input=tensor2, other=tensor1) # tensor([False, False, True, False]) torch.isclose(input=tensor1, other=tensor2, equal_nan=True) # tensor([False, False, True, True]) tensor1 = torch.tensor([[1.00001001, 1.00000996], [1.00000995, torch.nan]]) tensor2 = torch.tensor([[1., 1.], [1., torch.nan]]) torch.isclose(input=tensor1, other=tensor2) torch.isclose(input=tensor2, other=tensor1) # tensor([[False, False], # [True, False]]) tensor1 = torch.tensor([[[1.00001001], [1.00000996]], [[1.00000995], [torch.nan]]]) tensor2 = torch.tensor([[[1.], [1.]], [[1.], [torch.nan]]]) torch.isclose(input=tensor1, other=tensor2) torch.isclose(input=tensor2, other=tensor1) # tensor([[[False], [False]], # [[True], [False]]]) tensor1 = torch.tensor([[1.00001001, 1.00000996], [1.00000995, torch.nan]]) tensor2 = torch.tensor([1., 1.]) torch.isclose(input=tensor1, other=tensor2) torch.isclose(input=tensor2, other=tensor1) # tensor([[False, False], # [True, False]]) tensor1 = torch.tensor([[1.00001001, 1.00000996], [1.00000995, torch.nan]]) tensor2 = torch.tensor(1.) torch.isclose(input=tensor1, other=tensor2) torch.isclose(input=tensor2, other=tensor1) # tensor([[False, False], # [True, False]]) tensor1 = torch.tensor([0, 1, 2]) tensor2 = torch.tensor(1) torch.isclose(input=tensor1, other=tensor2) # tensor([False, True, False]) tensor1 = torch.tensor([0.+0.j, 1.+0.j, 2.+0.j]) tensor2 = torch.tensor(1.+0.j) torch.isclose(input=tensor1, other=tensor2) # tensor([False, True, False]) tensor1 = torch.tensor([False, True, False]) tensor2 = torch.tensor(True) torch.isclose(input=tensor1, other=tensor2) # tensor([False, True, False])
equal() boleh menyemak sama ada dua daripada 0D atau lebih D tensor mempunyai saiz dan elemen yang sama, mendapatkan skalar nilai boolean seperti yang ditunjukkan di bawah:
*Memo:
import torch tensor1 = torch.tensor([5, 9, 3]) tensor2 = torch.tensor([5, 9, 3]) torch.equal(input=tensor1, other=tensor2) tensor1.equal(other=tensor2) torch.equal(input=tensor2, other=tensor1) # True tensor1 = torch.tensor([5, 9, 3]) tensor2 = torch.tensor([7, 9, 3]) torch.equal(input=tensor1, other=tensor2) torch.equal(input=tensor2, other=tensor1) # False tensor1 = torch.tensor([5, 9, 3]) tensor2 = torch.tensor([[5, 9, 3]]) torch.equal(input=tensor1, other=tensor2) torch.equal(input=tensor2, other=tensor1) # False tensor1 = torch.tensor([5., 9., 3.]) tensor2 = torch.tensor([5.+0.j, 9.+0.j, 3.+0.j]) torch.equal(input=tensor1, other=tensor2) torch.equal(input=tensor2, other=tensor1) # True tensor1 = torch.tensor([1.+0.j, 0.+0.j, 1.+0.j]) tensor2 = torch.tensor([True, False, True]) torch.equal(input=tensor1, other=tensor2) torch.equal(input=tensor2, other=tensor1) # True tensor1 = torch.tensor([], dtype=torch.int64) tensor2 = torch.tensor([], dtype=torch.float32) torch.equal(input=tensor1, other=tensor2) torch.equal(input=tensor2, other=tensor1) # True
Atas ialah kandungan terperinci isclose dan sama dalam PyTorch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!