问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度学习环境配置总结

创作时间:
作者:
@小白创作中心

深度学习环境配置总结

引用
CSDN
1.
https://blog.csdn.net/2301_79271071/article/details/145653534

本文总结了深度学习环境配置的相关内容,包括Python解释器清理、Anaconda使用、NVIDIA相关组件(如CUDA、CUDNN)的安装和配置,以及Pytorch和TensorFlow等常用框架的配置示例。文章内容详尽,包含了具体的命令和步骤,并附有作者的运行截图和注解,对于需要配置深度学习环境的读者具有较高的参考价值。

一、清理

1.1 Python解释器

我们采用Anaconda进行环境管理,所以需要将所有之前下载的Python解释器卸载干净,包括环境变量。

1.2 包

在进行深度学习配置环境的时候,会下载很多包,长期积累下来,下面的清理命令可以清理出几十个G。

如果之前使用过Python,我们通过pip下载的包会在本地产生缓存

pip cache dir           # 缓存路径
pip cache info          # 缓存信息
pip cache purge         # 清理所有缓存

如果使用过conda,清理所有没有使用的包。在Anaconda中删除环境,但是也会留下缓存,这个是不会删除的。

conda clean -p

二、Anaconda

2.1 镜像源

可以认为Anaconda是一个管理独立Python环境的工具包,可以使用指定的Python环境。下载Anaconda后,我们可以使用Anaconda Prompt或 PowerShell 进行控制,也可以使用Navigator可视化操作,但是比较慢。

首先打开终端进入的是base环境,我们想创建一个Python环境,需要指明环境名(建议简短且能看出来版本)和Python版本。下载东西之前我们肯定要指定从哪里下载东西,也就是镜像源。默认的镜像源在国外,很多东西下载的慢,一般都是换成清华源或者中科大源,这里给出清华源换源指令

设置清华镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

设置搜索时显示通道地址

conda config --set show_channel_urls yes

检查添加的镜像源

conda config --show channels

如果想要还原,删除镜像源

conda config --remove-key channels

2.2 Conda命令

conda自身:(不常用但可能会用到)

conda --version                     # 检查版本号
conda config --show                 # 查看conda环境配置
conda update conda                  # 更新conda版本到最新
conda update Anaconda               # 更新Anaconda到最新

虚拟环境相关:(常用,建议记住)

注意一点,就是导出的environment.yml文件保存在输入命令前的地址,我这里就是C:\Users\lenovo

conda env list                      # 查看所有创建的虚拟环境
conda create -n env_name python=3.8 # 创建虚拟环境,注意更换env_name和python版本号
conda activate env_name             # 激活需要的环境,注意更换env_name,默认是在base环境下
conda deactivate                    # 退出当前环境,这个命令有些鸡肋,等同于conda activate base
conda remove --name env_name --all  # 删除环境,这里的env_name注意更换
conda env export > environment.yml  # 导出当前环境,分享代码给别人的时候建议附上

包的管理:(非常常用)

有时候conda list非常长,需要一点点下滑去找,可以直接在后面跟上包名的前几个字母(我常用的方法)

conda list                      # 查看当前环境下所有的包
conda list package_name         # 可以使用*模糊查询,也可以输入部分进行查询
conda install package_name=版本号 # 安装指定的包
conda update package_name       # 更新指定包到最新版本
conda uninstall package_name    # 卸载包
conda search package_name       # 这个查找是在仓库中找有没有需要的包,不是在已安装中找,比较慢

虚拟环境Python版本更新(不建议更改Python版本,尽可能新建一个环境)

python --version                        # 查看Python版本
conda install python=3.8                # 更新到指定版本
conda update python                     # 更新Python到最新版本

三、NVIDIA

3.1 简介

显卡主要就是N卡和A卡,NVIDIA的生态更好一点吧,比如CUDA优化上。电脑上要有英伟达显卡才能进行下面的操作,主要是理清楚几个概念:GPU,显卡驱动,CUDA,CUDNN,CUDA toolkit,NVCC等。进行深度学习训练,一般都是使用GPU(图形处理器),GPU就是我们常说的显卡的核心部分。打游戏可能对显卡比较了解,一般就是独显和集显,双显卡,可以打开任务管理器看一下。

我们进入终端,可以查看GPU的所有基础信息。主要就是看一下支持的CUDA最高版本和驱动的版本,显卡的型号和显存大小。

nvidia-smi

3.2 显卡驱动

我们想要使用显卡,就必须安装显卡驱动,一种是从官网下载:NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

有一个叫GeForce Experience的软件专门用来检测驱动更新,也可以用来进行游戏设置,这个更加方便,直接更新即可。

3.3 CUDA

CUDA是一个并行计算平台和编程模型,能够使得使用GPU进行通用计算变得简单和优雅。CUDA通过CPU任务分发和GPU并行处理的方式,把计算任务通过CPU分发给GPU进行并行计算加速。

想要学习CUDA如何编程可以参考官网教程或者一些教学资料:

GPU Accelerated Computing with C and C++ | NVIDIA Developer

GitCode - 全球开发者的开源社区,开源代码托管平台

3.4 CUDNN

官网下载需要注册登录,这里提供所有的历史版本下载地址:

cuDNN 历史版本 | NVIDIA 开发者

官网解释是NVIDIA CUDA深度神经网络库 (cuDNN) 是用于深度神经网络。cuDNN 为标准例程(如前向和反向卷积、注意力、matmul、池化和归一化)提供了高度调优的实现。简单来说是CUDA中专门针对深度神经网络的GPU加速库,常见的深度学习框架基本都支持CUDNN,如Tensorflow,Pytorch,Caffe等等。至于如何使用,大部分的做法是将cudnn的文件复制到对应的文件夹下,可以参考其他文章,也有人是不同的做法。

3.5 CUDA Toolkit

同上,注意版本之间的支持关系,这里给出所有版本的下载官网:

CUDA Toolkit Archive | NVIDIA Developer

CUDA Toolkit是一个全面的工具集,提供了一系列工具和库,包括GPU加速的库、编译器、开发工具等,用于开发、优化和部署GPU加速的应用程序。

3.6 NVCC

NVCC其实就是CUDA的编译器,CUDA程序通常包含两种代码:在CPU上运行的主机代码和在GPU上运行的设备代码,这些代码通常包含在.cu文件中。可以检查CUDA版本:

nvcc -V

四、常用框架示例

1、资源

GitHub上比较好的项目进行学习:

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

模型可视化在线平台:

PyTorch 神经网络模型可视化(Netron)-阿里云开发者社区

Netron

百度网盘存好的cuda+cudnn:链接:百度网盘 请输入提取码提取码: 1011 --来自百度网盘超级会员v4的分享

2、多版本CUDA

我采用手动切换CUDA版本,只需要简单的修改一下Path变量中CUDA版本的优先级即可。

说明:已经安装好CUDA11.3,现在需要安装CUDA10.0为例

下载好后双击运行cuda.exe,自定义安装,只勾选CUDA

建议直接默认位置即可,剩下直接下一步即可。(可能会出现CUDA VS Integration警告,但是确实安装了vs,可以重新安装一遍,也可以直接next,我是没有问题的)

安装完成后可以打开环境变量中系统变量的path,里面自动添加了CUDA V10.0的环境变量。

把Cudnn下的文件夹粘贴到对应的CUDA V10.0文件夹下

现在就配置好了,我们可以使用这个命令检查当前CUDA版本,和上边给出的命令一个意思。

nvcc --version

可以看到我当前的CUDA是10.0版本。

只需要将path中V11.3的变量提到V10.0之前,再进行检查就变为V11.3。

3、Pytorch---CUDA11.3

历史版本官网:Previous PyTorch Versions | PyTorch

配置yolov7的环境,更多详细信息都写在这篇博客里了:

yolov7使用笔记(零基础使用)_yolov7 github-CSDN博客

新建环境中需要下载和cudatoolkit版本号相匹配的pytorch框架,可以登录官网的历史版本,Ctrl+F进行搜索,例如我是Cuda11.3版本:(在conda中执行一下就好了,下载时间可能比较长,网上有其他方法可以进行参考)

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

4、TensorFlow---CUDA10.0

官方中文网:在 Windows 环境中从源代码构建 | TensorFlow

示例项目地址:https://github.com/bubbliiiing/RFB-keras

这里先说明一下需求,网上找了一个项目需要CUDA 10.0 和Cudnn 7.4.1,安装tensorflow-gpu==1.13.1 keras==2.1.5

conda中新建环境:(简单示例,不全)

conda create --name tf1 python=3.6
conda activate tf1
pip install tensorflow-gpu==1.13.1
pip install keras==2.1.5

具体的参数和算法先不去管,可以看到成功训练起来,我的GPU也利用上了,所以环境已经配置成功。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号