当前位置:网站首页>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显卡来完成,我们拭目以待。
边栏推荐
- Matlab function foundation (directly abandon version)
- 在 KubeSphere 部署 Wiki 系统 wiki.js 并启用中文全文检索
- 2020-10-29
- Remote centralized control of distributed sensor signals using wireless technology
- (4) Independent key
- Use of PCL
- Compiling owncloud client on win10
- keras_ Callback function summary
- Structure diagram of target detection network
- [resolved]setonnavigationitemselectedlistener() deprecated
猜你喜欢

WBC learning notes (I): manually push WBC formula

73b2d wireless charging and receiving chip scheme

Relationship extraction -- casrel

Embedded Software Engineer (6-15k) written examination interview experience sharing (fresh graduates)

The solution of positioning failure caused by framework jump

SOC wireless charging scheme

XSS 跨站脚本攻击

鲸会务为活动现场提供数字化升级方案

First character that appears only once

Implementation of ffmpeg audio and video player
随机推荐
爬虫 对 Get/Post 请求时遇到编码问题的解决方案
Performance comparison of unaryexpr's function on matrix elements in eigen Library
Detailed explanation of SOC multi-core startup process
1.Intro_ Math (white board derivation and reprint of station B)
Recyclerview item gets the current position according to the X and Y coordinates
(2) Buzzer
Ltp-- extract time, person and place
[unity mirror] use of networkteam
WBC learning notes (II): practical application of WBC control
static const与static constexpr的类内数据成员初始化
Compiling owncloud client on win10
Backward usage
Segmentation of structured light images using segmentation network
Speckle denoising method for ultrasonic image
XSS 跨站脚本攻击
Golang JSON unsupported value: Nan processing
Zlmediakit push pull flow test
Partial summary of 45 lectures on geek time MySQL
Simulation of parallel structure using webots
关于极客时间 | MySQL实战45讲的部分总结