UserWarning: __floordiv__is deprecated, and its behavior will change in a future version of pytorch.

报错提示:

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)

那么可以将其修改为:

dim_t = self.temperature ** (2 * torch.div(dim_t, 2, rounding_mode='trunc') / self.num_pos_feats)

问题解决!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值