YOLOv5报错:RuntimeError: adaptive_avg_pool2d_backward_cuda does not have a deterministic implementatio

YOLOv5添加注意力机制后报错:RuntimeError: adaptive_avg_pool2d_backward_cuda does not have a deterministic implementation, but you set ‘torch.use_deterministic_algorithms(True)’. You can turn off determinism just for this operation, or you can use the ‘warn_only=True’ option, if that’s acceptable for your application. You can also file an issue at https://github.com/pytorch/pytorch/issues to help us prioritize adding deterministic support for this operation.

解决办法

一、关闭确定性算法模式

在train.py321行( scaler.scale(loss).backward(),代码前)添加下面一行代码:

torch.use_deterministic_algorithms(False)

在这里插入图片描述
若找不到可在train.py中使用Ctrl+F打开查找,输入scaler.scale(loss).backward()查找即可!
在这里插入图片描述

二、忽视错误(不关闭确定性算法模式)

找到use_deterministic_algorithms(mode, *, warn_only=False):函数,将warn_only=False改为:warn_only=True。
在这里插入图片描述

寻找方法:

可在train.py中随机位置输入torch.use_deterministic_algorithms(False),选中use_deterministic_algorithms,Ctrl+鼠标左键跳转。

注意:跳转修改后将torch.use_deterministic_algorithms(False)删除。

两者有何区别,请自行实验。有问题可私聊或评论,看到后会尽快回复;若有错误,望指正!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值