
请我喝杯咖啡☕
*备忘录:
我的帖子解释了 eq() 和 ne()。我的帖子解释了 gt() 和 lt()。我的帖子解释了 ge() 和 le()。我的帖子解释了 torch.nan 和 torch.inf。
isclose() 可以检查第一个 0d 或更多 d 张量的零个或多个元素是否等于或接近等于第二个 0d 或更多 d 张量的零个或多个元素,得到 0d 或更多零个或多个元素的 d 张量如下所示:
*备忘录:
isclose() 可以与 torch 或张量一起使用。第一个参数(输入)使用 torch 或使用张量(必需类型:int、float、complex 或 bool 的张量)。带有 torch 的第二个参数或带有张量的第一个参数是其他(必需类型:int、float、complex 或 bool 的张量)。带有 torch 的第三个参数或带有张量的第二个参数是 rtol(optional-default:1e-05-type:float)。带有 torch 的第四个参数或带有张量的第三个参数是 atol(optional-default:1e-08-type:float)。带有 torch 的第五个参数或带有张量的第四个参数是 equal_nan(optional-default:false-type:bool):*备注:如果为 true,则 nan 和 nan 返回 true。基本上,nan 和 nan 返回 false。公式为 |输入 – 其他|
import torchtensor1 = 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.00000001tensor1.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() 可以检查两个 0d 或更多 d 张量是否具有相同的大小和元素,得到布尔值的标量,如下所示:
*备忘录:
equal() 可以与 torch 或张量一起使用。第一个参数(输入)使用 torch 或使用张量(必需类型:int、float、complex 或 bool 的张量)。带有 torch 的第二个参数或带有张量的第一个参数是其他(必需类型:int、float、complex 或 bool 的张量)。
import torchtensor1 = 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)# Truetensor1 = torch.tensor([5, 9, 3])tensor2 = torch.tensor([7, 9, 3])torch.equal(input=tensor1, other=tensor2)torch.equal(input=tensor2, other=tensor1)# Falsetensor1 = torch.tensor([5, 9, 3])tensor2 = torch.tensor([[5, 9, 3]])torch.equal(input=tensor1, other=tensor2)torch.equal(input=tensor2, other=tensor1)# Falsetensor1 = 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)# Truetensor1 = 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)# Truetensor1 = torch.tensor([], dtype=torch.int64)tensor2 = torch.tensor([], dtype=torch.float32)torch.equal(input=tensor1, other=tensor2)torch.equal(input=tensor2, other=tensor1)# True
以上就是PyTorch 中的接近和相等的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1351330.html
微信扫一扫
支付宝扫一扫