报错提示:
UserWarning: __floordiv__is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the ‘trunc’ function NOT ‘floor’). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode=‘trunc’), or for actual floor division, use torch.div(a, b, rounding_mode=‘floor’).
dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)
抱错的代码:
dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)
解决方案:
在这个警告是由于Pytorch新版本中的行为变更导致的,建议在代码中,将操作符“//“替换为“torch.div()",以避免这个警告。
例如,我的代码中有如下操作:
dim_t = self.temperature ** (2 * (dim_t // 2) / self.num_pos_feats)
那么可以将其修改为:文章来源:https://www.toymoban.com/news/detail-567284.html
dim_t = self.temperature ** (2 * torch.div(dim_t, 2, rounding_mode='trunc') / self.num_pos_feats)
问题解决!!!文章来源地址https://www.toymoban.com/news/detail-567284.html
到了这里,关于UserWarning: __floordiv__is deprecated, and its behavior will change in a future version of pytorch.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!