【Pytorch】Yolov5中CPU转GPU过程报错完善留档归纳

Yolov5 + 从CPU转GPU + Python多版本切换 + Conda包处理

文章目录

    • Yolov5 + 从CPU转GPU + Python多版本切换 + Conda包处理
    • 1.Pytorch套件中存在版本不匹配
    • 2.numpy停留在3.8没跟上pytorch2.2.2
    • 3.ModuleNotFoundError: No module named 'pandas._libs.interval'
    • 4.ImportError: cannot import name '_c_internal_utils' from partially initialized module 'matplotlib' (most likely due to a circular import)
    • 5. 单升级matplotlib导致依赖缺失未升级
    • 6.ImportError: The scipy install you are using seems to be broken, (extension modules cannot be imported)
    • 7.If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management 炸空间
    • 8.NotImplementedError: Could not run ‘torchvision::nms' with arguments from the 'cuDA' backend.

1.Pytorch套件中存在版本不匹配

这是后续一系列惨烈报错的起点,包括但不限于pytorch与torch,torch与torchvision,numpy与python,升级python及numpy导致matplotlib多版本残留,处理matplotlib又导致scipy包损坏,最后一切修好后出现炸掉空间无法启动。。。。。。

ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
torchvision 0.17.2 requires torch==2.2.2, but you have torch 1.8.0 which is incompatible.

解决办法
与此前自动升级了torch而落下torchvision相反,这次是torch被落下(
发生原因是用conda create -n yolov5 python=3.8后,考虑原项目使用的是

torch==1.80+python3.8.16

把torch,torchvision,python都从低版本升级到高版本后,各种问题开始浮上水面。

2.numpy停留在3.8没跟上pytorch2.2.2

torch OSError: [WinError 126] 找不到指定的模块

升级numpy

pip install --upgrade numpy

3.ModuleNotFoundError: No module named ‘pandas._libs.interval’

(yolo5) C:\Users\ASUS\Desktop\yolo\yolov5>python train.py --img 640 --batch 32 --epoch 3 --data data/horse.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt
Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 49, in
import val as validate # for end-of-epoch mAP
^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\val.py”, line 39, in
from models.common import DetectMultiBackend
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\common.py”, line 18, in
import pandas as pd
File “E:\anaconda3\envs\yolo5\Lib\site-packages\pandas_init_.py”, line 22, in
from pandas.compat import is_numpy_dev as is_numpy_dev # pyright: ignore # noqa:F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\anaconda3\envs\yolo5\Lib\site-packages\pandas\compat_init
.py", line 25, in
from pandas.compat.numpy import (
File “E:\anaconda3\envs\yolo5\Lib\site-packages\pandas\compat\numpy_init_.py”, line 4, in
from pandas.util.version import Version
File “E:\anaconda3\envs\yolo5\Lib\site-packages\pandas\util_init_.py”, line 2, in
from pandas.util._decorators import ( # noqa:F401
File “E:\anaconda3\envs\yolo5\Lib\site-packages\pandas\util_decorators.py”, line 14, in
from pandas.libs.properties import cache_readonly
File "E:\anaconda3\envs\yolo5\Lib\site-packages\pandas_libs_init
.py", line 13, in
from pandas._libs.interval import Interval
ModuleNotFoundError: No module named ‘pandas._libs.interval’

缺了pandas小小的库依赖。。。

pip install --force-reinstall pandas

4.ImportError: cannot import name ‘_c_internal_utils’ from partially initialized module ‘matplotlib’ (most likely due to a circular import)

Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\common.py”, line 27, in
import ultralytics
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics_init_.py”, line 5, in
from ultralytics.data.explorer.explorer import Explorer
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data_init_.py”, line 3, in
from .base import BaseDataset
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data\base.py”, line 17, in
from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\utils_init_.py”, line 21, in
import matplotlib.pyplot as plt
File “E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib_init_.py”, line 157, in
from . import _api, _version, cbook, docstring, rcsetup
File "E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib\cbook_init
.py", line 35, in
from matplotlib import _api, _c_internal_utils
ImportError: cannot import name ‘_c_internal_utils’ from partially initialized module ‘matplotlib’ (mos

Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 49, in
import val as validate # for end-of-epoch mAP
^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\val.py”, line 39, in
from models.common import DetectMultiBackend
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\common.py”, line 34, in
import ultralytics
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics_init_.py”, line 5, in
from ultralytics.data.explorer.explorer import Explorer
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data_init_.py”, line 3, in
from .base import BaseDataset
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data\base.py”, line 17, in
from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\utils_init_.py”, line 21, in
import matplotlib.pyplot as plt
File “E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib_init_.py”, line 157, in
from . import _api, _version, cbook, docstring, rcsetup
File "E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib\cbook_init
.py", line 35, in
from matplotlib import _api, _c_internal_utils
ImportError: cannot import name 'c_internal_utils’ from partially initialized module ‘matplotlib’ (most likely due to a circular import) (E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib_init.py)

比较复杂,问题分析:

1.项目中存在与matplotlib同名的文件,修改同名的文件(因为matplotlib是库名不能修改,即只要项目中没有同名的文件即可),再三检查后,没有同名的文件,果断放弃这一方法。

2.因多次安装卸载Python的不同版本,可能存在多个matplotlib,重新卸载matplotlib库,使用:pip uninstall matplotlib,相关的也建议删除,然后再重新安装:pip install matplotlib.
如果因为相关库删除后无法找到库,要记得重新安装(下面马上就要考)
用这个方法解决了。

另外更新库是没有用的。

pip uninstall matplotlib
pip install matplotlib

5. 单升级matplotlib导致依赖缺失未升级

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 49, in
import val as validate # for end-of-epoch mAP
^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\val.py”, line 39, in
from models.common import DetectMultiBackend
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\common.py”, line 34, in
import ultralytics
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics_init_.py”, line 5, in
from ultralytics.data.explorer.explorer import Explorer
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data_init_.py”, line 3, in
from .base import BaseDataset
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\data\base.py”, line 17, in
from ultralytics.utils import DEFAULT_CFG, LOCAL_RANK, LOGGER, NUM_THREADS, TQDM
File “E:\anaconda3\envs\yolo5\Lib\site-packages\ultralytics\utils_init_.py”, line 21, in
import matplotlib.pyplot as plt
File “E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib_init_.py”, line 272, in
check_versions()
File "E:\anaconda3\envs\yolo5\Lib\site-packages\matplotlib_init
.py", line 266, in check_versions
module = importlib.import_module(modname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\anaconda3\envs\yolo5\Lib\importlib_init
.py", line 90, in import_module
return _bootstrap.gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\anaconda3\envs\yolo5\Lib\site-packages\kiwisolver_init
.py", line 8, in
from ._cext import (
ModuleNotFoundError: No module named ‘kiwisolver._cext’

重新安装依赖

华丽的归来——缺失了相关的小依赖,重新按一遍吧。。。

pip uninstall matplotlib kiwisolver
pip install matplotlib

6.ImportError: The scipy install you are using seems to be broken, (extension modules cannot be imported)

Traceback (most recent call last):
File “E:\anaconda3\envs\yolo5\Lib\site-packages\scipy_init_.py”, line 184, in
from scipy._lib._ccallback import LowLevelCallable
File “E:\anaconda3\envs\yolo5\Lib\site-packages\scipy_lib_ccallback.py”, line 1, in
from . import _ccallback_c
ImportError: cannot import name ‘_ccallback_c’ from 'scipy.lib’ (E:\anaconda3\envs\yolo5\Lib\site-packages\scipy_lib_init.py)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 49, in
import val as validate # for end-of-epoch mAP
^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\val.py”, line 60, in
from utils.plots import output_to_target, plot_images, plot_val_study
File “C:\Users\ASUS\Desktop\yolo\yolov5\utils\plots.py”, line 18, in
from scipy.ndimage.filters import gaussian_filter1d
File “E:\anaconda3\envs\yolo5\Lib\site-packages\scipy_init_.py”, line 189, in
raise ImportError(msg) from e
ImportError: The scipy install you are using seems to be broken, (extension modules cannot be imported), please try reinstalling.

scipy是重要的包,损坏要到全局层面去修

这次不在conda或者pip来处理,需要直接到cmd再开个黑框框终端

打开Windows控制台命令窗口:
Win + R 打开Windows命令运行框 输入 cmd 
修复对应环境缺失的包,输入:
conda install -n 环境名xxx scipy

7.If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management 炸空间

Traceback (most recent call last):
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 850, in
main(opt)
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 625, in main
train(opt.hyp, opt, device, callbacks)
File “C:\Users\ASUS\Desktop\yolo\yolov5\train.py”, line 384, in train
pred = model(imgs) # forward
^^^^^^^^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\modules\module.py”, line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\modules\module.py”, line 1520, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\yolo.py”, line 263, in forward
return self._forward_once(x, profile, visualize) # single-scale inference, train
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\Users\ASUS\Desktop\yolo\yolov5\models\yolo.py”, line 167, in _forward_once
x = m(x) # run
^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\modules\module.py”, line 1511, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\modules\module.py”, line 1520, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\modules\upsampling.py”, line 157, in forward
return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “E:\anaconda3\envs\yolo5\Lib\site-packages\torch\nn\functional.py”, line 4001, in interpolate
return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 26.00 MiB. GPU 0 has a total capacity of 4.00 GiB of which 0 bytes is free. Of the allocated memory 3.55 GiB is allocated by PyTorch, and 37.67 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

思路分析:
显卡上空间不够,实在是绷不住,此前在4090上跑GLM3-32k-6B也遇到了这种情况,还有离谱的报错,尚待解决——
在这里插入图片描述

8.NotImplementedError: Could not run ‘torchvision::nms’ with arguments from the ‘cuDA’ backend.

在这里插入图片描述
NotImplementedError: Could not run ‘torchvision::nms’ with arguments from the ‘cuDA’ backend.This could be because the operator doesn’t exist for this backend,or was omitted during the selective/custom build process (if using custom build). If you are a Facebook employee using PyTorch on mobile,please visit…

嘛,如果对您有帮助的话就开心的复制吧,整理不易转载请注明qwq!
如果有更好的建议或意见欢迎补充!
我是亓云鹏(亓Qí),努力与大家一同分享算法的快乐!

每博一图(1/1)↓
在这里插入图片描述

下一个坑:

解决完所有可能的问题后胆战心惊(bushi)地开始启动
开始执行训练
在这里插入图片描述
小测试下训练结果
在这里插入图片描述在这里插入图片描述
跑出来的效果图

下面进行验证
python val.py --weights runs/train/exp/weights/best.pt --data ./data/horse.yaml --img 320
在这里插入图片描述
看一下效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

下一个坑:torch版本自动升级导致torchvision不一致报错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/636017.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Ubuntu20.04+Noetic】UR5e+Gazebo+Moveit

环境准备 创建工作空间 mkdir -p ur5e_ws/src cd ur5e_ws/srcUR机械臂软件包 UR官方没更新最新的noetic的分支,因此安装melodic,并需要改动相关文件。 安装UR的模型配置包,包里面有UR模型文件,moveit配置等: cd ~/ur5e_ws/src git clone -b melodic-devel https://git…

SQLite轻量级会话扩展(三十四)

返回:SQLite—系列文章目录 上一篇:SQLite R*Tree 模块(三十三) 下一篇:SQLite—系列文章目录 1. 引言 会话扩展提供了一种方便记录的机制 对 SQLite 数据库中某些表的部分或全部更改,以及 将这些…

R语言中的execl数据转plink

文章目录 带出外部连接的方式添加列的方式从列表中选出对应的数据信息查看变量信息没有成功 带出外部连接的方式 点击这个黄色的按钮就可以弹出外部链接的方式 添加列的方式 创建一个数据框的方式 我们创建一个三行三列的数据方式 df <- data.frame(name c("Alice&…

拓展网络技能:利用lua-http库下载www.linkedin.com信息的方法

引言 在当今的数字时代&#xff0c;网络技能的重要性日益凸显。本文将介绍如何使用Lua语言和lua-http库来下载和提取LinkedIn网站的信息&#xff0c;这是一种扩展网络技能的有效方法。 背景介绍 在当今科技潮流中&#xff0c;Lua语言以其轻量级和高效的特性&#xff0c;不仅…

Swift-25-普通函数、闭包函数与Lamda表达式编程

函数 语法定义 先来看下swift中函数的定义&#xff0c;函数用关键字func来指定&#xff0c;语法相对复杂一点&#xff0c;主要有下列4种基本情况&#xff0c;还有比较复杂的&#xff0c;会在后续详细讲解。 无参函数定义 有参函数定义 一个简单的函数和函数调用示例如下&…

打印机扫描到共享文件夹教程(Win系统和Mac系统)

一&#xff0e;Windows系统扫描文件到共享文件夹。 1.同时按下键盘WinR键&#xff0c;输入control&#xff0c;点击确定。 2.点击类别&#xff0c;点击大图标&#xff0c;点击凭据管理器。 3.点击Windows凭据&#xff0c;点击添加Windows凭据。 4.internet地址或网络地址&…

【Godot4自学手册】第三十九节利用shader(着色器)给游戏添加一层雾气效果

今天&#xff0c;主要是利用shader给游戏给地宫场景添加一层雾气效果&#xff0c;增加一下气氛&#xff0c;先看一下效果&#xff1a; 一、新建ParallaxBackground根节点 新建场景&#xff0c;根节点选择ParallaxBackground&#xff0c;命名为Fog&#xff0c;然后将该场景保…

循环神经网络(RNN):概念、挑战与应用

循环神经网络&#xff08;RNN&#xff09;&#xff1a;概念、挑战与应用 1 引言 1.1 简要回顾 RNN 在深度学习中的位置与重要性 在深度学习的壮丽图景中&#xff0c;循环神经网络&#xff08;Recurrent Neural Networks&#xff0c;RNN&#xff09;占据着不可或缺的地位。自从…

视频质量评价 SSIM 算法详细介绍

SSIM SSIM(Structural Similarity Index Measure)是一种用于衡量两幅图像之间相似度的指标,是属于全参考视频质量评价算法范畴;它在图像质量评估领域得到了广泛的应用。SSIM是基于人类视觉系统的特性设计的,它考虑了图像的亮度、对比度和结构信息。SSIM的值范围在-1到1之…

Visual Studio2010源码编译curl_7_60

一、源码解压目录内容 很开心里面可以找到CMakeLists.txt文件&#xff0c;说明可以实用CMake工具进行构建&#xff0c;由于多数开源项目都选择实用CMake作为构建编译工具&#xff0c;大家蝇该都比较熟练了。 二、实用CMake开始构建Visual Studio 2010工程 很顺利整个构建过程没…

el-select下拉框远程搜索且多选时,编辑需要回显的一个简单案例

前端业务开发中不管使用vue2~3&#xff0c;还是react&#xff0c;angular各种前端技术栈&#xff0c;经常会遇到这种业务。一个下拉框Select中&#xff0c;不仅需要需要支持远程模糊搜索&#xff0c;还需要支持多选。并且在编辑时&#xff0c;还能正常把已经多选好的内容回显到…

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数

中颖51芯片学习7. printf重定向到串口与自定义日志输出函数 一、 printf 重定向1. 概念2. 实现方式3. C51 中printf数值格式化 二、日志函数1. 实现方案分析2. 代码&#xff08;1&#xff09;log_utils.h&#xff08;2&#xff09;main.c 3. 通过预定义宏实现日志分级输出&…