isclose در PyTorch – DEV Community
Summarize this content to 400 words in Persian Lang
برای من یک قهوه بخر☕
*یادداشت ها:
isclose() می تواند بررسی کند که آیا عناصر صفر یا بیشتر از تانسور D 0 یا بیشتر برابر یا تقریباً برابر با صفر یا بیشتر عنصر تانسور دوم 0D یا بیشتر از نظر تانسور D هستند یا خیر، تانسور 0D یا بیشتر D را بدست می آورد. عنصر صفر یا بیشتر مطابق شکل زیر:
*یادداشت ها:
isclose() می توان با مشعل یا تانسور استفاده کرد.
استدلال اول (input) با torch یا با استفاده از یک تانسور (الزامی-نوع:tensor از int، float، complex یا bool).
استدلال دوم با torch یا آرگومان 1 با تانسور است other(الزامی-نوع:tensor از int، float، complex یا bool).
استدلال سوم با torch یا آرگومان دوم با تانسور است rtol(اختیاری-پیش فرض:1e-05-نوع:float).
استدلال چهارم با torch یا آرگومان 3 با تانسور است atol(اختیاری-پیش فرض:1e-08-نوع:float).
استدلال پنجم با torch یا آرگومان 4 با تانسور است equal_nan(اختیاری-پیش فرض:False-نوع:bool): *یادداشت ها:
اگر این است True، nan و nan بازگشت True.
اساسا، nan و nan بازگشت False.
فرمول این است |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])
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
برای من یک قهوه بخر☕
*یادداشت ها:
isclose() می تواند بررسی کند که آیا عناصر صفر یا بیشتر از تانسور D 0 یا بیشتر برابر یا تقریباً برابر با صفر یا بیشتر عنصر تانسور دوم 0D یا بیشتر از نظر تانسور D هستند یا خیر، تانسور 0D یا بیشتر D را بدست می آورد. عنصر صفر یا بیشتر مطابق شکل زیر:
*یادداشت ها:
-
isclose()
می توان با مشعل یا تانسور استفاده کرد. - استدلال اول (
input
) باtorch
یا با استفاده از یک تانسور (الزامی-نوع:tensor
ازint
،float
،complex
یاbool
). - استدلال دوم با
torch
یا آرگومان 1 با تانسور استother
(الزامی-نوع:tensor
ازint
،float
،complex
یاbool
). - استدلال سوم با
torch
یا آرگومان دوم با تانسور استrtol
(اختیاری-پیش فرض:1e-05
-نوع:float
). - استدلال چهارم با
torch
یا آرگومان 3 با تانسور استatol
(اختیاری-پیش فرض:1e-08
-نوع:float
). - استدلال پنجم با
torch
یا آرگومان 4 با تانسور استequal_nan
(اختیاری-پیش فرض:False
-نوع:bool
): *یادداشت ها:- اگر این است
True
،nan
وnan
بازگشتTrue
. - اساسا،
nan
وnan
بازگشتFalse
.
- اگر این است
- فرمول این است
|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])