*Memos:
- My post explains eq() and ne().
 - My post explains gt() and lt().
 - My post explains ge() and le().
 - 
My post explains 
torch.nanandtorch.inf. 
isclose() can check if the zero or more elements of the 1st 0D or more D tensor are equal or nearly equal to the zero or more elements of the 2nd 0D or more D tensor element-wise, getting the 0D or more D tensor of zero or more elements as shown below:
*Memos:
- 
isclose()can be used with torch or a tensor. - The 1st argument(
input) withtorchor using a tensor(Required-Type:tensorofint,float,complexorbool). - The 2nd argument with 
torchor the 1st argument with a tensor isother(Required-Type:tensorofint,float,complexorbool). - The 3rd argument with 
torchor the 2nd argument with a tensor isrtol(Optional-Default:1e-05-Type:float). - The 4th argument with 
torchor the 3rd argument with a tensor isatol(Optional-Default:1e-08-Type:float). - The 5th argument with 
torchor the 4th argument with a tensor isequal_nan(Optional-Default:False-Type:bool): *Memos:- If it's 
True,nanandnanreturnTrue. - Basically, 
nanandnanreturnFalse. 
 - If it's 
 - The formula is 
|input - other| <= rtol x |other| + atol. 
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() can check if two of 0D or more D tensors have the same size and elements, getting the scalar of a boolean value as shown below:
*Memos:
- 
equal()can be used withtorchor a tensor. - The 1st argument(
input) withtorchor using a tensor(Required-Type:tensorofint,float,complexorbool). - The 2nd argument with 
torchor the 1st argument with a tensor isother(Required-Type:tensorofint,float,complexorbool). 
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
    
Top comments (0)