当前位置:网站首页>Yolov5进阶之五GPU环境搭建
Yolov5进阶之五GPU环境搭建
2022-06-26 08:32:00 【宇称不守恒4.0】
熟悉了yolov5的CPU环境,下一步就是构建GPU环境了。从yolov2 tensorflow keras darknet,原始的GPU构建非常麻烦,不仅要cuda 和cudnn对应,还要和驱动版本完全一致,更要在windows环境设定大量环境变量和路径,这是非常不完美的解决方案。现在yolov5 pytorch已经不存在这个问题,可以说在激活环境下可以一键完成GPU环境的搭建。
首先要检查 自己的显卡支持的cuda版本,因为我现在笔记本做的测试,测试的显卡是MX230,莫笑,训练速度有显著提升的。
右击桌面 nvidia面板 查看cuda
现在我现实的是11.7,实际上我升级驱动之前是10.0.如果你想用支持的新的Cuda版本,请去nvidia 官网下载新的驱动,别担心这个驱动是向下兼容的,你只需安装 支持低于cuda11.7的pytorch,实际上我发这篇文章时,pytorch仅支持到11.3。
升级完驱动后,按照之前的步骤建立起一个隔离的环境,以后cuda cudnn等都在这个环境中运行,不用再去进行环境变量的修改了,我非常烦改环境变量的过程。
如果构建环境和建立独立文件夹部分还有问题,可以看第一篇 yolov5环境快速创建的文章
https://blog.csdn.net/buaaweibin/article/details/125356544?spm=1001.2014.3001.5502
下面打开pytorch网站
可以选择 11.0 版本,但是前面cpu测试的时候已经说过了11.0兼容性并不好,训练完成后会有路径错误提示。我建议选1.8.0版本,当然 9 10 版本可以也测试以下。
进入前面版本网页。
进入后可以看到,在线安装方法基本是两种方法
一种是 conda 一种是pip

conda 方法支持到 cuda 11.3 pip 支持到11.1 两种方法pytorch版本相同,对应的torchvision torchaudio的版本也略有不同。但是按照对应版本安装都是没有问题的。
开始使用了 conda 为了安装cuda 11.3
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
结果安装到pytorch1.10时(或者其他版本)非常慢,需要约2个小时左右。
后面使用了pip版本
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
从pytorch 官网安装,速度非常快,2分钟装完,之后可能会提示有的依赖没有安装,没有关系我们可以先测试pytorch 和 GPU
让我非常震惊,gpu环境已经构建好了,其实在安装的时候就能发现,安装的版本 pytorch 是带有 cuda 和 cudnn的。
下面的套路和之前一样了,把yolov5-master解压(之前图已经解压了),然后当前目录安装依赖
pip install -r requirements.txt
安装完成后,环境就搭建好了,还是先测试coco128数据集训练情况,进入yolov5-master文件夹,执行
python train.py --img 640 --batch 16 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt
出现错误,页面文件太小
因为cpu训练时没有出现错误,可以联想到是由于GPU现存太小导致的,可以减小batch解决
python train.py --img 640 --batch 2 --epochs 5 --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights yolov5s.pt
开始训练,正确识别GPU
训练过程可以看到 gpu显存使用情况,监视cpu可以发现cpu占用非常低
同时速度增加了很多,总共只用了4分钟。CPU训练应该是20分钟以上。
使用低端显卡完成gpu构建我原来是不抱什么希望的,下面的研究将依赖 GTX1070 8G 和RTX2060s 8G显卡来完成,我们拭目以待。
边栏推荐
- Record the problem yaml file contains Chinese message 'GBK' error
- Simulation of parallel structure using webots
- Relation extraction model -- spit model
- 唯品会工作实践 : Json的deserialization应用
- [已解决]setOnNavigationItemSelectedListener()被弃用
- STM32 project design: temperature, humidity and air quality alarm, sharing source code and PCB
- Relationship extraction --tplinker
- Apple motherboard decoding chip, lightning Apple motherboard decoding I.C
- Compiling owncloud client on win10
- 1.Intro_ Math (white board derivation and reprint of station B)
猜你喜欢

SQL learning experience (II): question brushing record

Compiling owncloud client on win10

Segmentation of structured light images using segmentation network

Degree of freedom analysis_ nanyangjx

Opencv learning notes II

多台三菱PLC如何实现无线以太网高速通讯?

Corn image segmentation count_ nanyangjx

Selenium 搭建 Cookies池 绕过验证反爬登录

Isinstance() function usage

First character that appears only once
随机推荐
Learn signal integrity from zero (SIPI) - (1)
鲸会务一站式智能会议系统帮助主办方实现数字化会议管理
2020-10-17
Whale conference provides digital upgrade scheme for the event site
批量执行SQL文件
Jupyter的安装
鲸会务为活动现场提供数字化升级方案
How to correctly PIP install pyscipopt
Learning signal integrity from scratch (SIPI) -- 3 challenges faced by Si and Si based design methods
Time functions supported in optee
Opencv learning notes 3
XXL job configuration alarm email notification
FFmpeg音视频播放器实现
VS2005 compiles libcurl to normaliz Solution of Lib missing
框架跳转导致定位失败的解决方法
Using MySQL and Qt5 to develop takeout management system (I): environment configuration
keras_ Callback function summary
1.21 study logistic regression and regularization
自动化测试中,三种常用的等待方式,强制式(sleep) 、 隐式 ( implicitly_wait ) 、显式(expected_conditions)
opencv學習筆記三