首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用torch.nn.CosineEmbeddingLoss()的问题

使用torch.nn.CosineEmbeddingLoss()的问题
EN

Stack Overflow用户
提问于 2022-02-28 18:20:13
回答 1查看 1.9K关注 0票数 0

我试图使用torch.nn.CosineEmbeddingLoss来计算两个张量之间的余弦距离,就像在这个博客文章https://medium.com/p/53eefdfdbcc7中解释的那样。

提交人声称,它可以以下列方式使用:

代码语言:javascript
运行
复制
loss_function = torch.nn.CosineEmbeddingLoss(reduction='none')
# . . . Then during training . . . 
loss = loss_function(reconstructed, input_data).sum()
loss.backward()

但当我试图在我的案例中评估这一点时,

代码语言:javascript
运行
复制
nn.CosineEmbeddingLoss(reduction='none')(vec1,vec2).sum()

我得到了

代码语言:javascript
运行
复制
TypeError: forward() missing 1 required positional argument: 'target'

我应该在这里指定什么目标?我只想评估两个向量之间的距离。

EN

Stack Overflow用户

发布于 2022-02-28 18:43:17

对于要使用nn.CosineEmbeddingLoss的丢失函数,请仔细阅读doc :该函数不仅仅是计算两个向量之间的余弦距离。如果它们的target为1或-1,它也会对距离进行不同的处理。

我想你把nn.CosineEmbeddingLossnn.CosineSimilarity搞混了。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71299407

复制
相关文章

相似问题

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