首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyTorch:计算接近参考张量值(+/- a容限)的张量值的数目

PyTorch:计算接近参考张量值(+/- a容限)的张量值的数目
EN

Stack Overflow用户
提问于 2022-02-20 13:59:01
回答 1查看 324关注 0票数 1

我有两个任意形状的张量,有几个维。

  • target_tensor
  • predicted_tensor

我想要计算predicted_tensor中接近目标张量值的值的数目。

对于for循环,应该是这样的:

代码语言:javascript
复制
targets = torch.flatten(target_tensor)
predicted = torch.flatten(predicted_tensor)

correct_values = 0
tolerance = 0.1

for i, prediction in enumerate(predicted):
    target = targets[i]
    if (target - tolerance < prediction < target + tolerance):
        correct_values =+ 1

然而,对于性能来说,for循环并不是一个好主意。

我在找一个矢量化的解。我试过:

代码语言:javascript
复制
torch.sum(target - tolerance < prediction < target + tolerance)

但我得到了:

代码语言:javascript
复制
RuntimeError: Boolean value of Tensor with more than one value is ambiguous

在朱莉娅,它只是添加一个点,以精确地说,它是元素。

对于如何用一个简短的矢量化解决方案来实现PyTorch,有什么想法吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-20 14:11:58

我想你是在找torch.isclose

代码语言:javascript
复制
correct_values = torch.isclose(prediction, target, atol=tolerance, rtol=0).sum()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71195131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档