gpt4 book ai didi

python - 为什么模式为 "max"的 Pytorch EmbeddingBag 不接受 `per_sample_weights` ?

转载 作者:行者123 更新时间:2023-12-04 03:31:45 25 4
gpt4 key购买 nike

Pytorch 的 EmbeddingBag 允许对不同长度的嵌入索引集合进行高效的查找和归约操作。 reduce 操作有 3 种模式:“sum”、“average”和“max”。使用“sum”,您还可以提供 per_sample_weights 给您一个加权总和。

为什么 per_sample_weights 不允许进行“最大”操作?看着how it's implemented ,我只能假设在“Mul”操作之后执行“ReduceMean”或“ReduceMax”操作存在问题。这可能与计算梯度有关吗??


p.s:通过除以权重总和可以很容易地将加权和转换为加权平均值,但对于“最大值”,您无法得到这样的加权等价物。

最佳答案

参数 per_sample_weights 仅针对 mode='sum' 实现,不是由于技术限制,而是因为开发人员没有发现“最大加权”的用例:

I haven't been able to find use cases for "weighted mean" (which can be emulated via weighted sum) and "weighted max".

关于python - 为什么模式为 "max"的 Pytorch EmbeddingBag 不接受 `per_sample_weights` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66666246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com