Maison > développement back-end > Tutoriel Python > isclose dans PyTorch

isclose dans PyTorch

DDD
Libérer: 2024-11-04 10:31:53
original
341 Les gens l'ont consulté

isclose in PyTorch

Achetez-moi un café☕

*Mémos :

  • Mon article explique égal(), eq() et ne().
  • Mon message explique gt() et lt().
  • Mon message explique ge() et le().

isclose() peut vérifier si zéro ou plusieurs éléments du 1er tenseur 0D ou plus D sont égaux ou presque égaux à zéro ou plusieurs éléments du 2e tenseur 0D ou plus D par élément, obtenant le 0D ou plus Tenseur D de zéro ou plusieurs éléments comme indiqué ci-dessous :

*Mémos :

  • isclose() peut être utilisé avec une torche ou un tenseur.
  • Le 1er argument (entrée) avec torch ou en utilisant un tenseur (Required-Type : tenseur de int, float, complexe ou bool).
  • Le 2ème argument avec torch ou le 1er argument avec un tenseur est autre (Required-Type : tensor of int, float, complexe ou bool).
  • Le 3ème argument avec torch ou le 2ème argument avec un tenseur est rtol(Optional-Default:1e-05-Type:float).
  • Le 4ème argument avec torch ou le 3ème argument avec un tenseur est atol(Optional-Default:1e-08-Type:float).
  • Le 5ème argument avec torch ou le 4ème argument avec un tenseur est égal_nan(Optional-Default:False-Type:bool) : *Mémos :
    • Si c'est vrai, nan et nan renvoient vrai.
    • En gros, nan et nan renvoient False.
  • La formule est |entrée - autre| <= rtol x |autre| 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])
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal