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

本文讲述了在迁移Yolov5项目时遇到的一系列问题,包括PyTorch、torchvision、numpy、matplotlib和scipy等库之间的版本不匹配,以及如何通过Conda管理和修复这些冲突,如升级Python、numpy,重置库和调整内存配置等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

您好!要在PyTorch中使用GPU训练YOLOv5模型,您需要确保以下几点: 1. 安装CUDA和CuDNN:首先,您需要安装与您的GPU兼容的CUDA和CuDNN版本。您可以在NVIDIA的官方网站上找到相应的安装指南。 2. 安装PyTorch和Torchvision:接下来,您需要安装PyTorch和Torchvision。您可以使用以下命令在Python环境中安装它们: ``` pip install torch torchvision ``` 3. 设置设备:在代码中,您需要将模型和数据加载到GPU上进行训练。可以使用`torch.cuda.is_available()`函数检查GPU是否可用,并使用`torch.device()`函数设置设备。例如: ```python device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') ``` 4. 将模型加载到GPU:在创建YOLOv5模型实例后,使用`.to(device)`方法将其移动到所选设备上。例如: ```python model = torch.hub.load('ultralytics/yolov5', 'yolov5s').to(device) ``` 5. 加载数据到GPU:在训练期间,您需要将训练数据加载到GPU上。可以使用`.to(device)`方法将数据移动到所选设备上。例如: ```python train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, shuffle=True) ... for images, labels in train_loader: images = images.to(device) labels = labels.to(device) ... ``` 通过以上步骤,您可以使用GPU训练YOLOv5模型。请注意,具体的代码可能会因您的环境和需求而有所不同,您需要根据实际情况进行相应的调整。祝您成功训练模型!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值