文章目录
- 一.必看:理解Anaconda,CUDA,CUDNN,Pytorch,Pycharm
- 1.Anaconda和Pycharm
- 2.CUDA
- 3.CUDNN
- 4.CPU和GPU
- 5.Pytorch
- 二、安装显卡驱动
- 2.1.查看驱动是否已经安装,电脑一般自带显卡驱动且会自动更新
- 方法1:
- 方法2:
- 2.2.显卡安装无显示安装驱动
- 驱动下载:
- 安装显卡驱动:
- 三、安装CUDA
- 3.1.查看驱动支持的CUDA版本
- 3.2.从官网下载所需的CUDA版本
- 3.3.CUDA安装
- 3.4.添加必要的系统变量配置[环境变量](可选,如果想在VS中使用CUDA就得进行这一步)
- 3.5 验证配置是否成功
- 四、CUDNN配置
- 五.安装Anaconda
- 5.1.下载Anaconda
- 5.2.Anaconda下载完成后打开安装包进行安装:
- 5.3.为Anaconda配置国内源方便各种包的下载(配置清华源)该步骤可以不进行配置,可以使用清华的临时源 pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
- 5.4.Anaconda基础命令可以在电脑上创建各种各样的虚拟环境,方便适配不同的项目需求,因此使用起来十分方便、快捷。
- 六.安装Pytharm
- 七.下载源码和对应权重文件
- 7.1.yolov5源码下载
- 7.2.yolov5源码下requirements文件阅读
- 7.3.yolov5源码下权重文件下载
- 八、用Anaconda +prtorch + pycharm搭建YOLOV5环境
- 8.1.在Anaconda下创建一个yolov5虚拟环境
- 8.2.在激活的环境中安装pytorch
- 8.3.在激活环境中安装YOLOV5所需的安装包
- 8.4.pycharm中配置Anaconda创建的yolov5环境
一.必看:理解Anaconda,CUDA,CUDNN,Pytorch,Pycharm
1.Anaconda和Pycharm
Anaconda,Pycharm都是开发工具从官网可下载。
anaconda是一个管理用于python开发的包含不同库的虚拟环境的平台,可以高效的管理和创建适用于多个不同项目的project interpreter。安装完成自带一个根环境,路径在conda的安装目录下。进入后可以在环境管理页面创建新环境,新环境的路径在安装目录下的envs中存储,在pycharm中设置interpreter时需要找到所需环境的存储位置,interpreter设置选择conda enviroment,填写python.exe的路径即可完成编译环境与项目的绑定。之后进行虚拟环境设置,安装新的库的时候只需打开cmd,输入activate 环境名,即可进入环境目录,之后pip安装所需库即可。
eg:你会遇到不同的的项目,需要使用到不同版本的的环境,比如一个项目要用到pytorch0.4,另一个项目要用到pytorch1.0,如果你卸载了0.4版本,安装了1.0版本,那么下一次你在遇到0.4版本,你就需要卸载1.0版本,再安装0.4版本很折腾,Anaconda集成的conda 包就能够解决这个问题,它可以创建两个房子,一个屋子放0.4版本,一个屋子放1.0版本,你需要哪个版本就进那个屋子
Pychram
Pycharm是一种python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、脚本控制。此外,该IDE提供了一些高级功能,用户支持Django框架下的专业Web开发,同时支持Google APP Engine,更酷的是Pycharm支持IronPython。
2.CUDA
CUDA(Compute Unified Device Architecture,统一计算设备架构),是显卡厂商NVIDIA在2007年推出的并行计算平台和编程模型。它利用图形处理器(GPU)能力,实现计算性能的显著提高。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题,从而能通过程序控制底层的硬件进行计算。它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。开发人员可以使用C/C++/C++11语言来为CUDA架构编写程序。CUDA提供host-device的编程模式以及非常多的接口函数和科学计算库,通过同时执行大量的线程而达到并行的目的。
CUDA基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。根据摩尔定律GPU的晶体管数量不断增多,硬件结构必然是不断的在发展变化,没有必要每次都为不同的硬件结构重新编码,而CUDA就是提供了一种可扩展的编程模型,使得已经写好的CUDA代码可以在任意数量核心的GPU上运行。如下图所示,只有运行时,系统才知道物理处理器的数量。
3.CUDNN
cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。
CUDA与CUDNN的关系
CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
4.CPU和GPU
CPU (Central Processing Unit) 中央处理器
CPU虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;CPU擅长处理具有复杂计算步骤和复杂数据依赖的计算任务。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。
GPU (Graphics Processing Unit) 图形处理器
GPU的核数远超CPU,被称为众核(NVIDIA Fermi有512个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单(GPU初始时在浮点计算上一直弱于CPU)。GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境,GPU采用了数量众多的计算单元和超长的流水线,但只有非常简单的控制逻辑并省去了Cache。而CPU不仅被Cache占据了大量空间,而且还有有复杂的控制逻辑和诸多优化电路,相比之下计算能力只是CPU很小的一部分
5.Pytorch
Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于Torch语言采用 Lua,导致在国内一直很小众,并逐渐被支持 Python 的 Tensorflow 抢走用户。作为经典机器学习库 Torch 的端口,PyTorch 为 Python 语言使用者提供了舒适的写代码选择
二、安装显卡驱动
2.1.查看驱动是否已经安装,电脑一般自带显卡驱动且会自动更新
方法1:
查看:任务管理器-------》性能-----------------》GPU 在右上角显示显卡型号在表示已经安装
方法2:
鼠标右键此电脑→管理→显示适配器
2.2.显卡安装无显示安装驱动
驱动下载:
Nvidia驱动下载官网
product Type选择显卡对应的对应的 GeForce
product Type选择显卡对应的对应的 GeForce RXT 30 Series
product型号选择自己对应的型号 GeForce RXT 3080
Operating System系统选择自己安装的系统
找适用的驱动程序,单击SEARCH(搜索);
在跳转的驱动程序下载页面,单击DOWNLOAD(下载);
安装显卡驱动:
(ⅰ)下载完成后,打开下载驱动程序所在的文件夹,双击.exe文件,会自动检测系统是否兼容;
(ⅱ)安装比较简单(默认下一步安装),【注意已安装GPU驱动的要选择自定义安装,勾选执行清洁安装,这样会将之前的驱动卸载清除】;
(ⅲ)等待安装完成后重启即可
三、安装CUDA
3.1.查看驱动支持的CUDA版本
CUDA™是一种由NVIDIA推出的通用并行计算[架构该架构使GPU能够解决复杂的计算问题。
首先需要查看自己电脑的N卡支持的 CUDA 版本,在终端输入
nvidia-smi
显示的都是驱动支持的最高的CUDA版本,实际安装可以低于等于支持版本。
3.2.从官网下载所需的CUDA版本
CUDA 工具包下载地址
下载完成
3.3.CUDA安装
找到下载的安装包(exe文件)运行安装
选择安装路径(可自定义):建议默认以防止出错
进行以下步骤
选择安装路径(可自定义):建议默认以防止出错
3.4.添加必要的系统变量配置[环境变量](可选,如果想在VS中使用CUDA就得进行这一步)
鼠标右键此电脑->属性->高级系统设置->环境变量,查看系统变量即可看到红色框选的两项。
安装过程中默认已经添加的系统变量如下
安装过程中默认已经添加的系统变量如下
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1CUDA_PATH_V11_1: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1CUDA_BIN_PATH: %CUDA_PATH%\bin CUDA_LIB_PATH: %CUDA_PATH%\lib\x64 CUDA_SDK_PATH: C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1CUDA_SDK_BIN_PATH: %CUDA_SDK_PATH%\bin\win64 CUDA_SDK_LIB_PATH: %CUDA_SDK_PATH%\common\lib\x64
将上面没有的补充添加
向系统变量的Path ,添加如下四条信息:
%CUDA_BIN_PATH%%CUDA_LIB_PATH%%CUDA_SDK_BIN_PATH%%CUDA_SDK_LIB_PATH%
3.5 验证配置是否成功
在终端输入下面三条命令注意版本下面是v11.1是否是自己版本路径
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite
deviceQuery.exe
bandwidthTest.exe
终端显示如下信息则安装成功
终端输入下面命令
bandwidthTest.exe
终端输入查找CUDA版本
nvcc -V或者 nvcc --version
安装成功
四、CUDNN配置
cudnn下载
cudnn是cuda的一个补丁这里需要登录并填写问卷才能下载
下载的时候会说明cuda与cudnn的对应版本
解压后把里面 bin、include 、 lib
文件夹复制到CUDA/v11.1
文件夹下替换对应的bin、include、 lib
文件夹
终端输入
nvcc -V
至此CUDA和CUDNN安装完毕!!!!
五.安装Anaconda
5.1.下载Anaconda
首先到Anaconda官网下载安装包,
跳过注册
5.2.Anaconda下载完成后打开安装包进行安装:
安装路(可自己定义)路径:并且记住安装路径(最好默认路径防止后面出错)
勾选这两项方便环境配置,如果安装时没有勾选这两项建议重新安装,并!重!启!,涉及到环境变量的改动都建议在修改后重启。第一个勾选框是自动添加环境变量,第二为设置Anaconda默认环境(base)为python3.7环境
两个选框都要取消选中
验证Anaconda是否安装完成:
1.在开始菜单打开Anaconda Prompt(anaconda)
2.出现(base)开头的环境安装OK
5.3.为Anaconda配置国内源方便各种包的下载(配置清华源)该步骤可以不进行配置,可以使用清华的临时源 pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
5.4.Anaconda基础命令可以在电脑上创建各种各样的虚拟环境,方便适配不同的项目需求,因此使用起来十分方便、快捷。
查看cuda下面的已有环境
在命令行输入以下命令
conda info --envs
或者
conda env list
创建虚拟环境:
conda create -n 虚拟环境名称 python=需要版本
激活环境:
conda activate 虚拟环境名称
删除虚拟环境:
conda remove -n your_env_name
或
conda env remove --name your_env_name
六.安装Pytharm
首先到Pycharm官网Pycharm官网下载安装包,下载社区版即可,也可以在Other versions 根据配置的模型要求下载其他版本
下载完成后打开安装包
建议安装在c盘以外其它盘
全部勾选
等待安装完成(需要等待几分钟)
勾选第二个,点击Finish安装完成
以上步骤Pycharm安装完成(是否需要配置中文环境根据个人习惯配置)
打开Pycharm
七.下载源码和对应权重文件
7.1.yolov5源码下载
首先到github下载yolov5源码,本文采用Yolov5-5.0版本,视情况而下载不同版本
下载完成后将其解压到不带中文字符文件夹下,否则会使OpenCV的cv2.imread()函数读取不了待检测图片或视频
至此,Yolov5源码下载结束
7.2.yolov5源码下requirements文件阅读
打开Yolov5下的requirements文件:此文件标明了下载YOLOV5要配置的各种package版本及要求;请仔细阅读
不同的YOLOV5模型要求可能不同请根据自己下载的模型配置
7.3.yolov5源码下权重文件下载
首先到github下载yolov5源码,本文采用Yolov5-5.0版本,下载不同的版本要选择对应的权重(weight)文件
八、用Anaconda +prtorch + pycharm搭建YOLOV5环境
8.1.在Anaconda下创建一个yolov5虚拟环境
打开开始菜单中的anaconda prompt
创建名为yolov5(名字可以改变)的虚拟环境,这里python版本使用的是3.8,可以视情况改变
conda create -n yolov5 python==3.8
稍等片刻,询问是否下载,输入y
创建成功后
输入命令确认
conda env list
激活创建的yolov5环境
8.2.在激活的环境中安装pytorch
到Pytorch官网pytorch下载选择对应的系统和cuda版本
在激活的环境中输入对应的下载命令
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
- 在安装的时候网络时好时不好,有的时候会报错,我在网上看用官网的源会比较慢,让用清华的源,但是我一添加,不只是慢了,而是直接报连接超时的错误。。。后面所幸不修改.condarc硬着头皮用官方的conda下载,中间断断续续几次后竟然ok了,很奇怪
推荐到历史版本中查找自己对应的版本安装(小于等于安装的cuda版本,pytorch版本按照文档要求)
测试安装是否成功
使用命令查看torch版本
python
import torch
torch.__version__
使用一个矩阵运算测试是否能正常运行:
import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
if t.cuda.is_available():x = x.cuda()y = y.cuda()print(x+y)
结果如下图即成功安装pytorch
8.3.在激活环境中安装YOLOV5所需的安装包
在终端里执行下面代码
requirements.txt存放着yolov5环境所需的包:
安装时注意后面添加国内的源(清华源:-i https://pypi.tuna.tsinghua.edu.cn/simple)
不然可能因为网速问题有些包安装失败
pip install -r 路径+requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
出现下面安装成功
8.4.pycharm中配置Anaconda创建的yolov5环境
参考文档
总体而言有两种方式进行“环境”的管理:
1.在anaconda中提前准备好项目所需的环境,然后在pycharm中选择相应环境的解释器。
2.在pycharm中设定新建项目时随即生成对应的环境。
方式一:需要提前准备好所需的环境,当项目间的包没有干扰时,可以复用其他项目的库,避免每次重新安装
方式二:每次都会生成独立的环境,不会对其他的项目造成干扰,但是每次创建项目时都会耗费较长的时间
6.2这里我们用方式二来配置环境
1.先打开yovo5环境在pycharm工具栏选择File->Settings
点击右上角的:add interpreter 添加解释器
一般在点击interpreter
后面的`下拉箭头会自动检测已有的环境,直接选择就OK
如果没有自动加载进行如下操作
选择Conda Environment
->Existing environment
,点击interpreter
后面的...
,找到anaconda中的Python解释器,选中,点击OK。
点击OK
点击OK,设置成功!
如果出现:没有cuda executable继续下面的重点说明
说明重点:**
在4的下拉框中选择conda方式,然后pycharm会自动检测到location和python version,所以这两项默认就行。
最关键的是5,conda executable查了一圈都没有人特别说明,基本都是使用我刚才说的方式一,而且还都是用的anaconda默认的base环境。需要说明,这是一种非常不好的方式,因为之所以使用anaconda,就是因为它强大的环境控制能力,可以在不同的环境中使用不同版本的包,如果所有项目都直接指定某一固定的解释器,那为什么还要折腾anaconda?直接使用pip+virtualenv也是同样可以的。言归正传,conda executable指的是conda可执行文件(conda.exe)的位置,默认情况下为空,如果不指定,则会提示conda executable path is empty,需要手动选择或者输入。如6所示。它的位置在anaconda的安装位置的Scripts文件夹下,选择之后点击确定即可。
需要注意的是,使用方式二随之创建的新环境的位置同样在anaconda安装路径中的envs文件夹下,也同样可以使用Anaconda Prompt或者Anaconda Navigator进行环境管理和包管理,可以说是非常方便使用了。