*Memos:
My post explains equal(), eq() and ne().
My post explains gt() and lt().
My post explains ge() and le().
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). - 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)
# 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)
# 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)
# 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)
# tensor([[False, False],
# [True, False]])
tensor1 = torch.tensor([])
tensor2 = torch.tensor([])
torch.equal(input=tensor1, other=tensor2)
# True
tensor1 = torch.tensor([])
tensor2 = torch.tensor([[]])
torch.equal(input=tensor1, other=tensor2)
# 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])
SOCIAL SHARE CARD GENERATOR