当前位置:   article > 正文

从零开始的深度学习_从0开始深度学习

从0开始深度学习

一、工具介绍

  • NVIDIA GPU驱动:nvidia-smi是nvidia 的系统管理接口,一般安装NVIDIA GPU驱动后即可使用。

  • CUDA Toolkit:CUDA(Compute Unified Device Architecture),是NVIDIA推出的运算平台,AMD也有类似的平台 ROCm,但并不成熟。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。

  • cuDNN:NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如Tensorflow、pytorch等。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。

  • Conda:Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。

    • 简单来说就是可以创建多个虚拟环境,各个虚拟环境互不干扰,在每个环境中可以装一个版本的python,以及各种版本的软件包。
  • PyTorch:PyTorch是一个开源的Python机器学习库,提供两个高级功能:1、具有强大的GPU加速的张量计算(如NumPy)。2、包含自动求导系统的深度神经网络。

  • TensorFlow:TensorFlow™是一个基于数据流编程(dataflow programming)的符号数学系统,被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。

总结:NVIDIA GPU驱动、CUDA Toolkit、cuDNN作用是使用NVIDIA进行GPU加速,如果只使用CPU或AMD显卡则不需要。Conda方便后面环境配置和软件管理。PyTorch和TensorFlow是两个不同的深度学习框架,PyTorch学术界使用较为广泛,方便简单,易于上手。TensorFlow工业界使用较为广泛,泛用性好,被更多框架和平台支持。

二、环境配置

2.1、GPU相关(可选)

如果电脑GPU不是NVIDIA,则只能使用CPU,无法进行本小节的配置;是NVIDIA GPU,但只想使用CPU,也无需本小节的配置。建议初学者初期只使用CPU。

2.1.1、Windows

1. 下载安装NVIDIA GPU驱动

检查自己是否安装:打开cmd命令行,输入nvidia-smi,回车键运行,能运行成功说明已经正常安装。
在这里插入图片描述

其中Driver Version是驱动版本号,CUDA Version可能是支持的CUDA最高版本,并不是当前运行的CUDA版本。

  1. 查看显卡型号

查看显卡:右键桌面 我的电脑(此电脑)->属性->设备管理器->显示适配器->查看显卡型号
如果桌面没有 我的电脑:右键桌面空白处->个性化->主题->桌面图标设置->勾选计算机

此处我的显卡是 NVIDIA Quadro K620
在这里插入图片描述

  1. 根据显卡型号下载驱动

下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn

在这里插入图片描述

根据型号选择对应驱动,点击搜索。跳转到下载页面下载即可。

  1. 安装NVIDIA GPU驱动

点击安装程序,选择安装包解压路径

在这里插入图片描述

选项自定义安装
在这里插入图片描述

选择要安装的组件,GPU加速只安装图形驱动程序即可;其他RTX桌面管理、HD音频驱动程序根据自己需要安装。

在这里插入图片描述

重启,检查nvidia-smi命令是否可以运行

2. 下载安装CUDA Toolkit

根据NVIDIA驱动版本选择对应的CUDA下载,CUDA与NVIDIA版本对应关系如下:
官网文档:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

CUDA ToolkitLinux x86_64 Driver VersionWindows x86_64 Driver Version
CUDA 11.0.3 Update 1>= 450.51.06>= 451.82
CUDA 11.0.2 GA>= 450.51.05>= 451.48
CUDA 11.0.1 RC>= 450.36.06>= 451.22
CUDA 10.2.89>= 440.33>= 441.22
CUDA 10.1 (10.1.105 general release, and updates)>= 418.39>= 418.96
CUDA 10.0.130>= 410.48>= 411.31
CUDA 9.2 (9.2.148 Update 1)>= 396.37>= 398.26
CUDA 9.2 (9.2.88)>= 396.26>= 397.44
CUDA 9.1 (9.1.85)>= 390.46>= 391.29
CUDA 9.0 (9.0.76)>= 384.81>= 385.54

官网下载地址:https://developer.nvidia.com/cuda-toolkit-archive
选择合适的版本,目前10.x版本使用较多。

在这里插入图片描述

之后选择操作系统(Windows),指令集架构(x86_64),系统版本(Win10),安装类型(本地安装local)
在这里插入图片描述

选择完成后,点击下方的 Base Installer 下载安装;Base Installer下面的Patch补丁包可以不下载安装(可选)。

在这里插入图片描述

双击下载的安装包,选择解压路径,安装完成解压内容会自动删除;
解压完成,开始安装,选择自定义安装

在这里插入图片描述

取消Driver components,即不安装驱动,前面已经安装。

在这里插入图片描述

选择安装路径并记住路径
在这里插入图片描述

安装完成,运行 nvcc -V ,能够正常执行,则说明安装成功。
在这里插入图片描述

3. 下载cuDNN

官网下载地址:https://developer.nvidia.com/rdp/cudnn-archive (下载需要注册NVIDIA账号)
根据CUDA版本选择cuDNN

在这里插入图片描述

下载完成后解压只有一个cuda文件夹,文件夹下包含三个子文件夹

在这里插入图片描述

将三个子文件夹中的文件,分别复制到CUDA Toolkit安装路径下对应的文件夹中

  • cuDNN中bin目录下的文件移动到 CUDA 的 bin 目录中
  • cuDNN目录中的 include 中的文件移动到 CUDA 的 include 目录中
  • cuDNN目录中的 lib 中的文件移动到 CUDA 的 lib 目录中
    在这里插入图片描述

复制完成,验证是否成功
通过NVIDIA提供的 deviceQuery.exe 和 bandwidthTest.exe 来查看GPU的状态,两者均在安装目录的 extras\demo_suite文件夹中

在这里插入图片描述

执行返回 Result = PASS 说明安装成功。

2.1.2、Linux

1. 安装NVIDIA GPU驱动

如果你使用Linux,我相信你应该有一定的基础,由于目前手上没有Linux设备,这里不再演示。
安装过程,可参考知乎专栏:https://zhuanlan.zhihu.com/p/59618999

2. 安装CUDA Toolkit

官网下载地址:https://developer.nvidia.com/cuda-toolkit-archive
根据系统和NVIDIA驱动版本,选择合适的CUDA。
在这里插入图片描述

选择完成后,下方给出下载安装指令,执行 Base Installer 进行下载安装;Base Installer下面的Patch补丁包可以不下载安装(可选)。
在这里插入图片描述
这里的下载命令是:
wget https://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
安装命令是:
sudo sh cuda_10.2.89_440.33.01_linux.run
如果没有root权限,可以安装在用户目录,此时安装命令:
sh cuda_10.2.89_440.33.01_linux.run --silent --toolkit --toolkitpath=$HOME/cuda_10.2 --installpath=$HOME/cuda_10.2

安装完成设置环境变量:

# 编辑用户目录下的.bashrc文件
cd ~
vim .bashrc

# 添加如下内容
export PATH=$HOME/cuda_10.2/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda_10.2/lib64

# 激活环境变量
source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

测试是否安装成功:
nvcc -V
可以正常执行说明安装成功。

3. 下载cuDNN

官网下载地址:https://developer.nvidia.com/rdp/cudnn-archive (下载需要注册NVIDIA账号)
根据CUDA版本选择cuDNN
在这里插入图片描述

安装cuDNN

# 解压cuDNN
tar -zxvf cudnn-10.2.tgz

# 将cuDNN文件复制到CUDA Toolkit安装目录中
cp cuda/include/cudnn.h ~/cuda_10.2/include/
cp cuda/lib64/libcudnn* ~/cuda_10.2/lib64/

# 赋予执行权限
chmod a+r ~/cuda_10.2/include/cudnn.h
chmod a+r ~/cuda_10.2/lib64/libcudnn*
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.2、安装conda

conda分为anaconda和miniconda。anaconda是包含一些常用包的版本,miniconda则是精简版,需要什么装什么,这里介绍miniconda的安装。
官网地址:https://docs.conda.io/en/latest/miniconda.html

2.2.1、安装

进入官网:

  • Windows installers一栏就是Windows安装包
  • Linux installers一栏就是Linux安装包

选择对应的操作系统和conda版本即可。
一般安装MiniConda3,python版本无所谓,3.x以上都可以,后面可以根据需要自行更改。

安装完成后,检测是否正常:conda info -e

2.2.2、配置

执行如下命令,配置Miniconda

# 配置国内镜像清华源,下载加速
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 --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/

# 其他
conda config --set show_channel_urls yes
conda config --set ssl_verify false
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2.2.3、常用命令参数

  • 查看虚拟环境: conda info -e
  • 激活虚拟环境:conda activate myTorch

activate 输入虚拟环境名

  • 退出虚拟环境: conda deactivate
  • 删除虚拟环境:conda remove -n 虚拟环境名 --all
  • 安装某个软件到当前虚拟环境:conda install 包名 -y
  • 卸载当前虚拟环境中的某个软件包:conda uninstall 包名 -y
  • 安装某个软件包到指定虚拟环境中:conda install -n 虚拟环境名 包名 -y
  • 卸载指定虚拟环境中的某个软件包:conda uninstall -n 虚拟环境名 包名 -y

2.3、安装PyTorch

PyTorch的安装分为GPU版和CPU版,使用官网命令安装和手动安装需要注意选择。

  • 创建虚拟环境:conda create -n myTorch python=3.6.9
    • -n 后接的myTorch是自定义的虚拟环境名,自己随便起名;python=3.6.9指定该虚拟环境下使用的python版本。
  • 激活环境:conda activate myTorch

之后的安装都在此虚拟环境下进行!

2.3.1 官网命令安装PyTorch

官网地址:https://pytorch.org/get-started/locally/
在这里插入图片描述

选择PyTorch版本(1.9.0),操作系统版本(Windows),包管理器(Conda),语言(Language),计算平台(CUDA 10.2)
得到安装命令:conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch
命令中 -c 后接的是官方默认源,如果比较慢,可以使用清华源(ps:好像也不快,经常下载失败):

conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda install pytorch torchvision torchaudio cudatoolkit=10.2
  • 1
  • 2

同理包管理选择pip也可以:

pip3 install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
  • 1

这里可以看到使用pip安装,需要显式的指定pytorch和torchvison、torchaudio的版本。

2.3.2 手动安装PyTorch

手动安装是为了解决自动下载安装总是由于网络问题失败的问题。
安装前需要下载需要的包,地址:

手动安装,最值得注意的是选择torch和torchvision的版本对应关系。

pytrch=1.4、torchvision=0.5
pytorch=1.6、torchvision=0.7
torch=1.9、torchvision=0.10
其他版本可以自行百度

以官网为例,访问上述地址,可以看到需要的whl包文件。

在这里插入图片描述
在这里插入图片描述

包格式:设备(cpu/gpu)-软件包名-包版本-python版本-操作系统_处理器

  • 如果使用的是cpu那么就选cpu版本,如果适用gpu那么需要根据安装的cuda版本选择,比如安装了cuda10.2就选择cu102。
  • 如果使用的python版本是3.6.x就选择cp36-cp36m,其他版本对应选择即可。
  • 如果操作系统是Windows,就选择win;如果是linux就选择linux。
  • 处理器架构目前基本都是64位,amd64和x86_64相同都是64位。

使用下载工具下载对应的torch和torchvision,下载完成使用pip命令安装。
假如下载的文件分别为:torchvision-0.5.0+cpu-cp37-cp37m-win_amd64.whl、torch-1.4.0+cpu-cp37-cp37m-win_amd64.whl:

pip install ./torchvision-0.5.0+cpu-cp37-cp37m-win_amd64.whl
pip install ./torch-1.4.0+cpu-cp37-cp37m-win_amd64.whl
  • 1
  • 2

2.4、安装TensorFlow

TensorFlow的安装也分为GPU版和CPU版,CPU版本安装较简单;但如果安装GPU版,则需要满足与cuDNN和CUDA的关系。否则可能无法使用GPU加速。
另外TensorFlow 1.x 和 2.x 变动较大,建议安装 2.x 版本,相对简单易用。

2.4.1 CPU版本安装

使用pip直接输入以下命令:
pip install 'tensorflow==2.2.0' -i [http://pypi.doubanio.com/simple/](http://pypi.doubanio.com/simple/) --trusted-host pypi.doubanio.com
其中 2.2.0是版本号,-i 后指定安装源,–trusted-host 表示信任安装源,防止无法下载。

2.4.2 GPU版本安装

命令与cpu版本类似,但需要保证TensorFlow版本与cuDNN和CUDA版本对应:
pip install 'tensorflow-gpu==2.2.0' -i [http://pypi.doubanio.com/simple/](http://pypi.doubanio.com/simple/) --trusted-host pypi.doubanio.com
只需要在tensorflow后加上-gpu即会下载gpu版本。

下方是官网给出的对应关系:

  • Linux GPU
版本Python 版本编译器构建工具cuDNNCUDA
tensorflow-2.4.03.6-3.8GCC 7.3.1Bazel 3.1.08.011.0
tensorflow-2.3.03.5-3.8GCC 7.3.1Bazel 3.1.07.610.1
tensorflow-2.2.03.5-3.8GCC 7.3.1Bazel 2.0.07.610.1
tensorflow-2.1.02.7、3.5-3.7GCC 7.3.1Bazel 0.27.17.610.1
tensorflow-2.0.02.7、3.3-3.7GCC 7.3.1Bazel 0.26.17.410.0
tensorflow_gpu-1.15.02.7、3.3-3.7GCC 7.3.1Bazel 0.26.17.410.0
tensorflow_gpu-1.14.02.7、3.3-3.7GCC 4.8Bazel 0.24.17.410.0
tensorflow_gpu-1.13.12.7、3.3-3.7GCC 4.8Bazel 0.19.27.410.0
tensorflow_gpu-1.12.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.11.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.10.02.7、3.3-3.6GCC 4.8Bazel 0.15.079
tensorflow_gpu-1.9.02.7、3.3-3.6GCC 4.8Bazel 0.11.079
tensorflow_gpu-1.8.02.7、3.3-3.6GCC 4.8Bazel 0.10.079
tensorflow_gpu-1.7.02.7、3.3-3.6GCC 4.8Bazel 0.9.079
tensorflow_gpu-1.6.02.7、3.3-3.6GCC 4.8Bazel 0.9.079
tensorflow_gpu-1.5.02.7、3.3-3.6GCC 4.8Bazel 0.8.079
tensorflow_gpu-1.4.02.7、3.3-3.6GCC 4.8Bazel 0.5.468
tensorflow_gpu-1.3.02.7、3.3-3.6GCC 4.8Bazel 0.4.568
tensorflow_gpu-1.2.02.7、3.3-3.6GCC 4.8Bazel 0.4.55.18
tensorflow_gpu-1.1.02.7、3.3-3.6GCC 4.8Bazel 0.4.25.18
tensorflow_gpu-1.0.02.7、3.3-3.6GCC 4.8Bazel 0.4.25.18
  • Windows GPU
版本Python 版本编译器构建工具cuDNNCUDA
tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1
tensorflow_gpu-2.0.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.15.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.27.410
tensorflow_gpu-1.13.03.5-3.7MSVC 2015 update 3Bazel 0.19.0-0.21.07.410
tensorflow_gpu-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.07.29.0
tensorflow_gpu-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
tensorflow_gpu-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18

注:其实TensorFlow 2.x 以后不再区分CPU版和GPU版,上述两个命令只在 1.x 版本有区别。

2.4.3 手动下载地址

https://pypi.org/project/tensorflow/#files
手动下载后,pip安装即可,注意python版本、操作系统和处理器架构。

三、python基础语法

3.1、基本数据类型

3.2、控制流程

3.3、函数

3.4、面向对象

3.5、常用系统编程

文件IO

四、深度神经网络

4.1、张量与张量运算

4.2、数据处理

4.3、网络模型

模型结构
模型参数

五、损失函数

六、卷积神经网络

经典模型

七、循环神经网络

经典模型

八、GAN网络

经典模型

九、Transformer

经典模型

十、论文阅读与开源项目

十一、工程实践

pytorch转tensorflow

模型轻量化
模型量化
模型剪枝

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/79183
推荐阅读
  

闽ICP备14008679号