神经网络做轮廓识别:第一部分-GPU部署

文章讲述了作者作为AI门外汉如何通过GPU框架搭建和训练模型解决轮廓提取问题的过程,重点介绍了CUDA、cuDNN、PyTorch和torchvision的版本选择与安装步骤,为读者提供了一套详细的实践教程。
摘要由CSDN通过智能技术生成

前言:

这是这个专题的第一部分内容,包含GPU的部署,第二部分将介绍模型的训练的使用。

作为人工智能领域的外行,在我的研究中偶然需要用到轮廓提取,尝试过很多传统方法(如OpenCV),效果都不理想。最后,有幸查到这篇论文,并且花了几天时间,从GPU框架的搭建、成功训练自己的模型到最终的成功应用,在这个过程中总结了很多经验。

这篇文章不讲原理,只讲方法和流程!原理相关的问题请与原作者讨论。

参考文献:

参考论文

Z. Su et al., "Pixel Difference Networks for Efficient Edge Detection," 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, QC, Canada, 2021, pp. 5097-5107, doi: 10.1109/ICCV48922.2021.00507.

论文链接:Pixel Difference Networks for Efficient Edge Detection | IEEE Conference Publication | IEEE Xploreicon-default.png?t=N7T8https://ieeexplore.ieee.org/document/9710012

代码:

GitHub - hellozhuo/pidinet: Code for the ICCV 2021 paper "Pixel Difference Networks for Efficient Edge Detection" (Oral).Code for the ICCV 2021 paper "Pixel Difference Networks for Efficient Edge Detection" (Oral). - hellozhuo/pidineticon-default.png?t=N7T8https://github.com/hellozhuo/pidinet

作者博文:

差分卷积在计算机视觉中的应用 - 知乎本文主要介绍由Oulu大学主导的几个 差分卷积(Difference Convolution)工作及其在图像、视频领域中的应用。 相关工作已被 TPAMI, TIP, CVPR'20, ICCV'21 (Oral), IJCAI'21 等顶级期刊会议接收,并斩…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/392986663

下面开始正文,在接下来的流程中,需要格外注意各个软件的版本,一定要下载相互对应的版本,此外还需要注意使用的平台是Windows还是Linux,安装方法是pip还是conda!本文中,使用Windows平台,采用pip安装。对了,还需要确认你有一块英伟达的显卡。

第一步:确定软件版本

首先确定好以下信息,显卡型号、显卡算力(Compute Capability)、CUDA版本、cuDNN版本、python版本、pytorch版本和torchvision版本。

参考以下链接:

显卡型号与算力:NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)-CSDN博客

算力与CUDA版本,cuDNN下载页面会显示相应CUDA版本,CUDA与Pytorch:

Support Matrix — NVIDIA cuDNN 9.0.0 documentation

显卡算力、驱动版本、CUDA、pytorch之间的关系_显卡驱动是不是cuda版本-CSDN博客

Pytorch与python:01 Pytorch和CUDA对应的版本及Pytorch和Python对应的版本及Python与Anaconda的对应关系_pytorch和cuda对应版本-CSDN博客

torchvision和Pytorch、Python:Torchvision与Pytorch匹配的版本安装方法 - 知乎

很多软件的适用版本不是具体某一个值,而是一个范围,因此这里建议做笔记记下来,根据自己的设备,确定好各个软件的版本范围,最后取他们的交集。

以我的为例,系统平台为win10-64位,显卡为Geforce GTX 1060 6G:算力6.1,CUDA-10.2,cuDNN-7.6.5,python-3.8.0,pytorch-torch-1.10.2,torchvision-0.11.3。即下面两张图展示的。

CDUA、cuDNN、Python
torch与torchvision

第二步:软件下载和安装

版本确定好之后,进行软件和包的下载,下载时要注意系统是windows还是linux,下面均为Windows平台。此外,还需要确保C盘有大约20G空余空间。

0.Visual studio

显卡驱动和Visual studio(VS)提前安装好,注意不是Visual studio code,它是蓝色图标,VS是紫色图标。VS版本要比CUDA老一点(从发行年份上看),VS2019就可以,安装时选择工作负载,勾选使用C++的桌面开发和Visual Studio扩展开发:

链接:https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads

1.CUDA

CUDA即CUDA Toolkit工具包

官网(CUDA Toolkit Archive | NVIDIA Developer)比较慢,可以用国内网站,但国内网站有时候还打不开,看运气了:

https://developer.nvidia.cn/cuda-toolkit-archive

安装完成后一般会自动添加环境变量,请检查环境变量中是否存在下面这两个。

添加的系统环境变量如下图:

将CUDA添加进环境变量

随后测试是否安装成功,参考链接:保姆级的CUDA的下载安装使用,详细的环境变量配置,不仅仅让你能够安装,还会教你弄懂为什么要这样安装 - 知乎

2.cuDNN

即深度神经网络库,需要去官网,国内网站一直显示页面找不到,官网用注册后方可下载

官网:cuDNN Archive | NVIDIA Developer

国内网站:CUDA 深度神经网络库 (cuDNN) | NVIDIA 开发者

测试方法:win10下CUDA和CUDNN的安装(超详细)!亲测有效!_win10 cuda安装-CSDN博客

下载完成后解压,将解压的文件复制到CUDA的安装目录下。

解压后复制
粘贴到CUDA的安装目录下

然后为cuDNN添加环境变量,添加进Path变量:

编辑Path变量
为cuDNN添加环境变量

3.Python

最好下载这种纯净版,官网下载https://www.python.org/downloads/

python安装完成后将其添加进环境变量,并更换国内源,方便后面运行。

添加环境变量

使用以下命令更换国内源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

4.pytorch和torchvision

在官网(PyTorch)选择版本,用命令行安装时网速很慢,安装总失败,因此改用国内源下载后手动安装,注意要选择GPU版本的torch。

先在国内镜像网站把文件下载下来:https://download.pytorch.org/whl/torch_stable.html

这个步骤包括pip安装和conda安装两种方法,推荐用pip安装,conda需要配置虚拟环境,在查资料、复制安装命令时也要注意是pip还是conda,两者截然不同,本文全部使用pip。

下载下面这两个文件,原文件名后半部分不是“abi3-win_amd64”,因为在安装时报错提示版本不匹配,修改文件名后安装即可。文件名中“cu102”表示CUDA版本10.2,“cp38”代表python版本3.8。

torch与torchvision

安装方法,打开cmd命令行,cd到文件路径,用以下命令安装:

pip install torch-1.10.2+cu102-cp38-abi3-win_amd64.whl
pip install torchvision-0.11.3+cu102-cp38-abi3-win_amd64.whl

如果遇到pip没更新的情况,更新即可 

更新pip

检查安装是否成功,打开cmd,输入“python”进入python环境,输入以下代码,结果为True则成功。要退出python环境时,键盘按“Ctrl +Z”。

import torch
torch.cuda.is_available()
测试torch是否安装成功

到这里,上述的5个软件或包均已安装完毕(如果加上Visual studio的话就是6个),这些安装步骤完成后,需要确保以下环境变量添加进Path变量:

确认环境变量是否添加完整

到这一步结束,前期的配置工作就算完成,你已经具备了做神经网络乃至人工智能相关内容的必备条件。后续的模型训练以及实际应用将在下一篇文章中详细介绍。

如果你觉得这篇文章还不错的话,欢迎点赞收藏转发!

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值