>  기사  >  백엔드 개발  >  PyTorch에서 isclose

PyTorch에서 isclose

DDD
DDD원래의
2024-11-04 10:31:53173검색

isclose in PyTorch

커피 한잔 사주세요😄

*메모:

  • 내 게시물에서는 equal(), eq() 및 ne()에 대해 설명합니다.
  • 내 게시물에서는 gt() 및 lt()에 대해 설명합니다.
  • 내 게시물에는 ge() 및 le()에 대한 설명이 나와 있습니다.

isclose()는 첫 번째 0D 이상의 D 텐서 중 0개 이상의 요소가 요소별로 두 번째 0D 이상의 D 텐서의 0개 이상의 요소와 같거나 거의 같은지 확인하여 0D 이상의 요소를 가져옵니다. 아래와 같이 0개 이상의 요소로 구성된 D 텐서:

*메모:

  • isclose()는 토치나 텐서와 함께 사용할 수 있습니다.
  • 토치 또는 텐서(필수 유형: int, float, complex 또는 bool의 텐서)를 사용하는 첫 번째 인수(입력).
  • torch의 두 번째 인수 또는 텐서의 첫 번째 인수는 other(필수 유형: int, float, complex 또는 bool의 텐서)입니다.
  • torch의 세 번째 인수 또는 tensor의 두 번째 인수는 rtol(Optional-Default:1e-05-Type:float)입니다.
  • torch의 네 번째 인수 또는 텐서의 세 번째 인수는 atol(Optional-Default:1e-08-Type:float)입니다.
  • torch의 5번째 인수 또는 텐서의 4번째 인수는 equal_nan(Optional-Default:False-Type:bool)입니다. *메모:
    • True이면 nan과 nan은 True를 반환합니다.
    • 기본적으로 nan과 nan은 False를 반환합니다.
  • 공식은 |입력 - 기타| <= rtol x |기타| 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])

위 내용은 PyTorch에서 isclose의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.