(Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决

今天用Yolov5目标检测模型进行Flask部署的时候,遇见一个问题:RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'。在王宏网上查阅了很久,发现大多数都是在讲有关Half的精度问题。
具体报错如下:
(Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第1张图片

他人的解决方案

这里先讲下Half()函数的作用:

torch.half()函数将模型的所有浮点参数和缓冲区转换为半精度(16位)浮点数。这可以减少内存占用并提高计算效率,同时保持较高的计算精度 。

这里给出我在网上找到的一些解决方案:

  • 解决报错:“slow_conv2d_cpu“ not implemented for ‘Half‘ | 训练DreamBooth
  • 复刻yolo系列时出现的BUG及解决方法

以上问题在进行网页前端部署的时候可能解决不了问题,但是训练的时候应该还是有用的。

我的解决方案

在查阅很久没有找到合适的解决方案的时候,我想着是不是自己torch版本torchvision版本不匹配的缘故,所以我查看了自己安装的库,如下:
(Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第2张图片
可以清晰的看到,我的torchvision版本确实和我的torch版本不太匹配,因此我进入到pytorch官网,重新安装了版本以后,我的库版本具体如下:
(Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第3张图片
最后,完美的解决了问题,并部署成功。
(Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第4张图片

具体解决步骤为如下:

  1. 首先,进入pytorch官网;
    (Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第5张图片
  2. 查找到自己适应的版本,这里我们选择查看以前的版本。
    (Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第6张图片
  3. 选择自己的版本,这里我的是torch==1.13.1+cu117的,具体命令为:pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
    (Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第7张图片
  4. 最后复制该命令到终点,进行安装对应版本的库。安装成功后如下:
    (Yolov5常见bug)RuntimeError: “slow_conv2d_cpu“ not implemented for ‘Half‘问题解决_第8张图片

你可能感兴趣的:(python的BUG解决方案,YOLO,bug)