————————————————————————————————————————————————————————————

————————————————————————————————————————————————————————————

一、概要

  • 配置pytorch环境可以使GPU(显卡)来运行代码进行图像识别,在这方面GPU比CPU性能要好得多,所以我才一直想着部署GPU环境,但是我这已经是第三次搞了,前两次都是看教程然后去官网下载相应的软件进行安装,一直没成功,而这次根据一个视频和一些文章安装,顺序部署成功了。
  • 因为我用以下代码测试自己是否成功安装部署cuda+Gpu的环境的时候,发现还是没有成功部署gpu环境,所以就打算卸载cuda和cudnn重新搞。cuda和显卡驱动版本无关,和Gefore Experience无关,所以我就不卸载Gefore Experience了。

————————————————————————————————————————————————————————————

二、整体流程

测试是否成功安装部署Gpu的环境代码:

import torch
print(torch.__version__)
print(torch.cuda.is_available())#cuda是否可用
torch.cuda.device_count()#返回GPU的数量
torch.cuda.get_device_name(0)#返回gpu名字,设备索引默认从0开始

正确结果:
​​​​在这里插入图片描述
正确安装部署了GPU环境的时候会出现以上结果,同时也会出现gpu即显卡名字,上图的gpu名字为GeForce GTX 1660 Ti。而我自己没有出现以上结果,所以就说明没有安装部署成功,因此我卸载cuda和cudnn重新搞。

————————————————————————————————————————————————————————————

1、卸载

首先在anaconda移除当时自己创建的pytorch环境(本人早已删除,所以下图只是教你们移除的步骤):
​​​​​​​​​​在这里插入图片描述
————————————————————————————————————————————————————————————
接下来卸载cuda及其相关软件。

首先查看本机已安装的cuda版本,在cmd输入命令:nvcc -V​​
​​​​​​​​在这里插入图片描述
我之前安装的cuda版本为11.7。
————————————————————————————————————————————————————————————
然后再输入nvidia-smi查看自己的显卡(GPU)支持最高版本的cuda是多少:
​​在这里插入图片描述
————————————————————————————————————————————————————————————
也可以直接打开Nvidia的控制面板——>帮助——>系统信息——>组件
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
如图,我的显卡(GPU)支持最高的cuda版本为12.1。
————————————————————————————————————————————————————————————
接下来卸载cuda及其相关软件,直接打开系统自带的程序卸载软件:
在这里插入图片描述
————————————————————————————————————————————————————————————
根据视频解说,有关于NV的可以以保留.GeForce Experience、图形驱动、PhysX和音频驱动程序这四个,别的都可以卸载,就算卸载错了,到时候也可以重新安装回来。

yolov5 pytorch TensorRT 配置环境,傻瓜教学,小白专用;一键安装依赖库,离线安装pytorch

在这里插入图片描述
—————————————————————————————————————————————————————————————
卸载完成
在这里插入图片描述
———————————————————————————————————————————————————————————

2、安装

接下来是重新安装cuda。
视频解释说cuda11.8版本以上实测用不了TRT,他建议不是11.6和11.7版本的都卸载了,然后我按照里面的步骤安装它给的11.6版本的cuda。

(提取码:1jzr )cuda软件资源百度网盘提取

下载完了打开pytorch文件夹
在这里插入图片描述
————————————————————————————————————————————————————————————
然后直接双击安装cuda_11.6.0。
我是安装在自定义文件夹,安装软件的时候最好都放在全英文路径的文件夹当中,避免出错。
在这里插入图片描述
————————————————————————————————————————————————————————————
刚刚卸载cuda的时候提示重启,我没重启,然后现在出现了安装错误的提升,现在重启试试。
在这里插入图片描述
重启之后重新安装就可以了。
在这里插入图片描述
—————————————————————————————————————————————————————————————
然后选择自定义安装:
在这里插入图片描述
————————————————————————————————————————————————————————————
除了cuda本体,下面其三个都取消勾选不安装。特别注意:展开下面其三个软件,如果哪个软件右边没有红色框中的数字,就安装哪个软件。
在这里插入图片描述
————————————————————————————————————————————————————————————
下面这三个安装路径要记住,后续我们将进行环境变量的配置,不要改变路径。
在这里插入图片描述

————————————————————————————————————————————————————————————
勾选安装vs,不勾选安装cuda不了。
在这里插入图片描述
————————————————————————————————————————————————————————————
安装好了然后打开解压好的cudnn。
在这里插入图片描述
把cudnn的四个文件都复制到莞工安装的cuda路径下。
在这里插入图片描述
————————————————————————————————————————————————————————————
我的安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
在这里插入图片描述
————————————————————————————————————————————————————————————
替换完文件,然后最后一步我们配置还变量。
在这里插入图片描述
双击Path进入环境变量。
在这里插入图片描述
————————————————————————————————————————————————————————————
然后新建三个环境变量:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\include

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\CUPTI\lib64

在这里插入图片描述
在这里插入图片描述
————————————————————————————————————————————————————————————
如果提示“此系统环境变量太大,此对话框允许将值设置为 2047 个字符”可以参考下面这篇文章添加“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\CUPTI\lib64”这个环境变量。

添加环境变量时弹出“此环境变量太大, 此对话框允许将值设置为最长2047个字符”的解决办法
在这里插入图片描述
————————————————————————————————————————————————————————————
然后把下载好得资源,下面红框里的四个文件复制到自己的“用户”里。
在这里插入图片描述
在这里插入图片描述
————————————————————————————————————————————————————————————

3、创建pytorch虚拟环境

可以命令行创建虚拟环境
打开Anaconda Prompt(anaconda)。
在这里插入图片描述
————————————————————————————————————————————————————————————
输入下面命令行创建名为pytorch的虚拟环境,python版本为3.8.15。(3.8的python版本之外装依赖库会有问题,所以建议装3.8版本的)
在这里插入图片描述
————————————————————————————————————————————————————————————
也可以直接打开anacoda创建这个虚拟环境。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
————————————————————————————————————————————————————————————
如果自己存放anaconda环境的文件夹有“pytorch”这个文件夹,但是在anaconda里environment里面没有“pytorch”这个环境,那先去存放anaconda环境的文件夹删除“pytorch”这个文件夹,然后再重新创建“pytorch”虚拟环境。
在这里插入图片描述
————————————————————————————————————————————————————————————
然后在Anaconda Prompt(anaconda)输入activate pytorch进入pytorch环境。
在这里插入图片描述
————————————————————————————————————————————————————————————
然后输入下面代码,安装requestments.txt文件下的依赖包(官方配置好的),-i用的是国内源安装,速度很快。

pip install -r requirements.txt   -i https://pypi.mirrors.ustc.edu.cn/simple

在这里插入图片描述
————————————————————————————————————————————————————————————
然后我们安装别人已经编译好的whl文件,代码如下:

pip install torch-1.13.1+cu116-cp38-cp38-win_amd64.whl
pip install torchaudio-0.13.1+cu116-cp38-cp38-win_amd64.whl
pip install torchvision-0.14.1+cu116-cp38-cp38-win_amd64.whl

在这里插入图片描述
————————————————————————————————————————————————————————————
然后输入pip list看看安装的库,注意下面图库红框的三个库要对于cuda11.6版本的。
在这里插入图片描述
————————————————————————————————————————————————————————————
然后输入python,进入python编译器,然后再输入以下代码测试是否安装部署成功GPU环境:

import torch
print(torch.__version__)
print(torch.cuda.is_available())#cuda是否可用
torch.cuda.device_count()#返回GPU的数量
torch.cuda.get_device_name(0)#返回gpu名字,设备索引默认从0开始

在这里插入图片描述
————————————————————————————————————————————————————————————
显示上图的那些内容就代表安装部署成功了,然后可以把“用户”下的那四个文件夹删除了。
————————————————————————————————————————————————————————————
在这里插入图片描述
然后到这里部署环境就结束了,接下来就是运行代码进行测试了。
————————————————————————————————————————————————————————————

三、运行yolov5 v7.0代码

解压7.0版的yolov5后放到你喜欢的文件夹当中;
在这里插入图片描述
————————————————————————————————————————————————————————————
然后复制下面图中的文件;
在这里插入图片描述
————————————————————————————————————————————————————————————
然后我们进入yolov5 7.0这个文件夹里面,新创建一个文件夹“gane_plug_in”(文件夹的名字可以自己决定),然后在“gane_plug_in”文件夹里面创建“model”和“function”两个文件夹,然后把刚刚复制的文件放进“model”文件夹里面;
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
————————————————————————————————————————————————————————————
返回去然后右击yolov5原码文件夹,用pycharm打开;
在这里插入图片描述
————————————————————————————————————————————————————————————
然后点击右下角,添加python解释器;
在这里插入图片描述
————————————————————————————————————————————————————————————
我们要添加的python解释器就我们在anaconda创建的pytorch虚拟环境的python解释器;
在这里插入图片描述
————————————————————————————————————————————————————————————
然后找到存放pytorch虚拟环境的文件夹,
请添加图片描述
————————————————————————————————————————————————————————————
点开就能找到python解释器了,直接添加就可以了。
yolov5 7.0文件夹里面的data\images里面的两张图片就是代码自带的测试图片,可以自己的加点图片进去里面进行测试;
在这里插入图片描述
————————————————————————————————————————————————————————————
然后运行detect.py文件,在run\detect\下可以查看检测结果:
在这里插入图片描述
代码运行就先这样了,有什么问题可以一起讨论学习。
————————————————————————————————————————————————————————————

四、技术名词解释

————————————————————————————————————————————————————————————

1、YOLO

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,可以在一次前向传递中直接从图像中检测所有物体的位置和类别。

YOLO的特点是速度快,可以在CPU上实时处理视频。它采用全卷积神经网络,可以在一个端到端的过程中识别整个图像中的所有物体。与传统的先检测再分类不同,YOLO是一个直接的目标检测算法,可以显著减少地址传递,实现实时的目标检测。

不过,与其他目标检测算法相比,YOLO的准确度相对较低,因为它需要在各种尺度下检测物体,而且对于小物体检测效果不太好。

————————————————————————————————————————————————————————————

2、Pytorch

PyTorch是一个基于Python的开源机器学习库,它能够提供强大的GPU加速功能,以及内置的自动微分系统,可帮助开发人员更快地进行实验和建立神经网络模型。PyTorch由Facebook AI研究团队维护和开发,因其易于使用和灵活的API以及动态计算图的特点而受到广泛欢迎和关注。

PyTorch的核心是一个张量计算库,它可以高效地处理矩阵计算、卷积和其他数学运算。并且,PyTorch也支持CPU和GPU计算,它提供了一些方便实用的工具和函数,以便您更方便地编写神经网络模型和进行训练。

PyTorch特别适用于从事实验和研究工作的人员,因为它提供了强大的自动微分系统,可以轻松地计算梯度,同时支持动态计算图。动态计算图有利于减少模型构建的复杂性,并令开发人员更加深入地了解模型的计算过程。

PyTorch具有易于使用、灵活的API和出色的计算性能,因此被广泛应用于自然语言处理、计算机视觉和其他人工智能领域的研究和应用中。
————————————————————————————————————————————————————————————

3、CUDA

CUDA(Compute Unified Device Architecture,计算统一设备架构)是由英伟达公司开发的一种并行计算平台和编程模型,它可以便捷地将 GPU 看作泛化的并行处理器,用于加速计算密集型应用程序。CUDA 平台包括一个 C/C++ 编译器和一个运行时库,使开发人员能够编写运行在 GPU 上的 C/C++ 程序。

CUDA 平台的核心概念是线程块(thread block)、网格(grid)和 GPU 上的共享内存(shared memory)。线程块是指在 GPU 上同时运行的一组线程,而网格则是包含若干个线程块的结构。CUDA 提供了丰富的函数库,包括矩阵操作、图像处理、快速傅立叶变换等,使开发人员可以方便地编写并行化的算法。而共享内存则是在线程块内用于共享数据的内存空间,通过合理地使用共享内存,可以使并行程序的性能进一步提升。

CUDA 的主要应用领域包括科学计算、计算机视觉、深度学习和游戏等,CUDA 已经成为了 GPU 计算领域最为流行的开发平台之一。

————————————————————————————————————————————————————————————

4、CUDNN

CUDNN(CUDA Deep Neural Network library)是英伟达公司开发的用于深度神经网络加速的库,它采用了高效的卷积神经网络算法和优化,能够在英伟达GPU上实现高性能的深度学习。

CUDNN优化了常见的卷积神经网络算法,如卷积、池化和卷积转置等,通过减少CPU和GPU数据传输,优化数据存储和访问,提高算法的并行度和效率,加速神经网络的训练和推理过程。CUDNN还提供了一些更高级的函数,如批量规范化、激活函数和Dropout等,可以帮助用户更方便地构建和训练深度神经网络。

总之,CUDNN可以令深度学习在英伟达GPU上取得更好的性能和效率,提升训练和推理的速度和精度,并减少开发人员和研究人员的工作量。
————————————————————————————————————————————————————————————

5、Anaconda

Anaconda 是一个 Python 和 R 语言开发环境,它包含了大量的科学计算、数据分析和机器学习相关的库和工具,同时也提供了包管理和环境管理的功能,能够帮助用户更轻松地管理和使用不同版本的 Python 和相关工具。在 Anaconda 中安装和管理库和工具非常简单,只需要使用命令行或 Anaconda Navigator 图形界面即可完成。此外,Anaconda 还提供了 Jupyter Notebook 和 JupyterLab 两个交互式的 Web 应用程序,使得用户能够更加方便地进行数据分析和共享项目。同时,Anaconda 也支持 GPU 加速和分布式计算,能够帮助用户更加高效地进行科学计算和深度学习。总的来说,Anaconda 是一个非常强大且易于使用的数据科学工具,适用于不同水平的数据分析师、科学家和开发者。
conda虚拟环境可以帮助你在同一个计算机上使用不同的Python版本和不同的Python包,以便在不同的项目之间进行切换,也可以帮助你避免安装不同项目中使用的不同版本的Python包之间的冲突。

以下是如何在conda中创建和管理虚拟环境:

1. 创建虚拟环境:在终端或命令行中输入conda create --name env_name,其中env_name是你想要给虚拟环境起的名称。例如,创建名为my_env的虚拟环境,可以输入conda create --name my_env

2. 激活虚拟环境:在终端或命令行中输入conda activate env_name,其中env_name是你创建的虚拟环境的名称。例如,激活名为my_env的虚拟环境,可以输入conda activate my_env。激活虚拟环境后,你可以在该虚拟环境中安装Python包和运行Python程序。

3. 安装Python包:在激活虚拟环境后,在终端或命令行中输入conda install package_name,其中package_name是你想要安装的Python包的名称。例如,在名为my_env的虚拟环境中安装numpy和pandas,可以输入conda install numpy pandas
4. 退出虚拟环境:在终端或命令行中输入conda deactivate,即可退出当前激活的虚拟环境。

5. 删除虚拟环境:在终端或命令行中输入conda remove --name env_name --all,即可删除名为env_name的虚拟环境及其中的所有Python包。

虚拟环境的创建和使用,可以帮助你管理Python包和项目,避免不同项目之间包的冲突和版本不兼容的情况,并提高你的开发效率。
————————————————————————————————————————————————————————————

6、Pycharm

PyCharm 是一款由 JetBrains 开发的 Python 集成开发环境(IDE),旨在提供智能的代码编辑、调试、重构、测试和版本控制等功能。它支持多种框架和技术栈,如 Django、Flask、Pyramid、Google App Engine、SQLAlchemy、Scientific Python 等等,同时还具有强大的代码审查、代码分析和代码自动完成功能,可以帮助开发者更快地编写高质量的代码。PyCharm 还提供了一些有用的工具和插件,如 Jupyter Notebook、Docker 集成、远程开发、Web 开发等等,这些都是提高生产力和提升开发效率的重要功能。除此之外,PyCharm 还支持多种操作系统(Windows、Mac、Linux)和多语言(Python、JavaScript、HTML、CSS、SQL 等),非常适合需要进行 Python 开发、测试和探索的工程师、科学家和数据分析师。

PyCharm是一款非常流行的Python集成开发环境(IDE),它有很多强大的功能和工具可以帮助你进行Python开发。而conda虚拟环境则是一个能够让你创建多个独立 Python 环境的工具。使用conda虚拟环境可以让你在同一台机器上开发不同的 Python 应用,而不会相互干扰。

在使用PyCharm进行Python开发时,我们可以很方便地使用conda虚拟环境来管理不同的项目。可以通过以下简单步骤来配置与使用conda虚拟环境:

1. 在PyCharm中打开你的项目
2. 点击菜单栏上的“File”,选择“Settings…”进入设置界面
3. 在设置界面中选择“Project: [your project name]”,然后选择“Project Interpreter”菜单
4. 点击右上角的齿轮图标,并选择“Add…”来添加一个新的Python解释器
5. 在添加解释器的弹出窗口中,可以选择使用conda创建一个新的虚拟环境,也可以选择使用已有的环境
6. 选择好虚拟环境后,点击“OK”保存设置

在配置好conda虚拟环境之后,我们就可以使用它来运行项目中的Python代码了。同时,我们也可以方便地在不同的conda环境之间进行切换,来满足不同的开发需求。

————————————————————————————————————————————————————————————

7、GitHub

GitHub是一个面向开源及私有软件项目的托管平台,用于代码的存储、版本控制和协作。GitHub是基于Git进行版本控制的,开发者可以在GitHub上建立代码仓库,然后利用Git在本地进行代码开发和版本控制,再将代码推送到GitHub上的代码仓库中。GitHub提供了Web界面、Desktop客户端和命令行工具,方便开发者进行协作和交流,并具有Issue、Pull Request等功能,使得开发者可以共同参与和管理项目。

此外,GitHub也是全球最大的Git代码托管平台之一,拥有众多开发者和开源社区。许多著名的开源项目都托管在GitHub上,如tensorflow,pytorch等。因此,GitHub成为了程序员学习开源代码、分享自己代码、展示自己能力的重要平台。

————————————————————————————————————————————————————————————

五、小结

搞了好久才搞完环境的部署,真的太不行了,得加快速度才行,毕竟时间不等人。
请添加图片描述

————————————————————————————————————————————————————————————

六、引用与参考

1、文章

Windows下卸载重装CUDA和CUDnn_解决pycharm无法加载CUDA动态库的问题
yolov5 +cuda10.2 +gpu环境搭建 (详细版本)

2、视频

yolov5 pytorch TensorRT 配置环境,傻瓜教学,小白专用;一键安装依赖库,离线安装pytorch

————————————————————————————————————————————————————————————

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐