最近尝试caffe环境的配置,同样需要CUDA和cuDNN,所以我再次回顾这篇文章,我真是生气啊,感觉自己写得不清不楚的,路径啥的我都没记录。
背景:打算用python来实现yolov3,yolov3的实现方式可以有pytorch、openCV、Darknet、keras等,目前pytorch较为流行。
补充:在后来的学习中需要使用anaconda创建一个python的运行环境,在3.3和3.4节中就有说明。
这是一个基于Python的科学计算包,其旨在服务两类场合:
参考链接:PyTorch深度学习:60分钟入门(Translation)
在这里推荐一个网站:Awesome Python,它几乎包含了ptyhon需要的所有库,同时也包含库的一个简略说明。在该页面搜索"pytorch",即可跳转pytorchGitHub说明页。
此外还有pytorch的官方网址。
操作系统:Win10
Anaconda是什么?为什么装?怎么装?
是什么
Tensors and Dynamic neural networks in Python with strong GPU acceleration.
是一个集成的Python包以及环境,包含依赖项等,可以用来管理包,安装、运行应用。
针对不能版本的Python,Anaconda可以帮助管理多个环境,可以提供一个更加快速和简单的方式来运行机器学习的相关代码。
为什么装
Pytorch在Github上的官方推荐。
If you are installing from source, you will need Python 3.6.2 or later and a C++14 compiler. Also, we highly recommend installing an Anaconda environment. You will get a high-quality BLAS library (MKL) and you get controlled dependency versions regardless of your Linux distro.
怎么装
找到Anaconda的官方网址或是找到相关的博文,一些博主会把下载器放在百度网盘里,按照博主推荐的安装教程进行安装。
我在安装的过程中,由于Anaconda是外网,出现登不上的情况,因此我直接从Bubbliiiing博主提供的百度网盘(提取码提取码: 8ggr)中,下载了旧版的Anaconda3,下载后打开Anaconda3会自动提示更新。
安装教程可以参考:
此外还可以在网上找到同时安装Anaconda2和Anaconda3的。Anaconda2对应的是python2,Anaconda3对应的是python3版本。
查看Anaconda版本信息
在命令提示符,输入:
conda -V
安装成功将提示版本号信息。
Conda是什么
Conda是一个开源的 ,跨平台的,包管理器和环境管理系统。它是为Python程序创建的,但它可以为任何语言(例如R语言)进行包管理和安装。Conda包和环境管理器包含在Anaconda,Miniconda,和Anaconda存储库的所有版本中。
安装教程
1.深度学习环境配置2——windows下的torch=1.2.0环境配置(Bubbliiiing)
2.有幸遇见-b站最全最简洁易学的深度学习环境配置教程(有幸被看的上上)
是什么
CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA™架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。
一个运算平台,促使GPU加速。
关于cuDNN,在其官网上写着
The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers.
深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库。 cuDNN 可大幅度优化标准例程(例如前向和后向卷积、池化、归一化和激活层)的实施。
需要CUDA和cuDNN同时促使GPU加速。
为什么装
官方推荐
If you want to compile with CUDA support, install
NVIDIA CUDA 10.2 or above
NVIDIA cuDNN v7 or above
Compiler compatible with CUDA Note: You could refer to the cuDNN Support Matrix for cuDNN versions with the various supported CUDA, CUDA driver and NVIDIA hardwares
怎么装(详细安装步骤看下方“安装教程”链接)
1.先下载CUDA。CUDA需要几个G的硬盘空间,如果C盘紧张需要先对C盘进行磁盘清理。
打开官网选择相应的版本:
生成应用程序,双击打开,直接运行:
选择安装位置上我在D盘建了文件夹,其目录为:
CUDA Development和CUDA Documentation路径选择CUDA1,Samples路径选择CUDA2。
安装后在C盘这个位置可以找到根目录:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
查看CUDA版本信息
在命令提示符,输入
nvcc --version
安装成功将提示版本号信息。
查看cuDNN版本信息
打开安装CUDA的文件夹,在include/cudnn_version.h
就提示了版本信息:
安装教程
1.深度学习环境配置2——windows下的torch=1.2.0环境配置(Bubbliiiing)
2.有幸遇见-b站最全最简洁易学的深度学习环境配置教程(有幸被看的上上)
参考链接:详解Anaconda + 如何在Anaconda上更换python版本
利用anaconda搭建一个python的环境,在命令提示符依次输入一下代码:
activate
//进入base环境
conda create -n py37 python=3.7
//环境命名为py37,其中python版本指定为了3.7(-n是name的缩写)
conda activate py37
//激活py37环境(在上一步结束后,会有该条命令的提示)
python # 在该环境下查看python版本
exit()# 退出python
其他以后可能用到的命令
conda env list
//查看所有环境
需要进入py37这个环境下安装pytorch。
进入pytorch官网,点击“install",由于我的CUDA版本正好有,所以选一下就有推荐的安装方式。
在py37环境下,输入以下代码:
pip3 install torch==1.10.0+cu102 torchvision==0.11.1+cu102 torchaudio===0.10.0+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html
其中torchversion是计算机视觉中的辅助模块,如需删除pytorch,则输入下方代码:
pip uninstall torch torchvision torchaudio
查看torch版本信息
在终端py37环境下输入
# py37
python
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 检查GPU版本是否安装成功,一般GPU版本快于CPU
运行结果:
1.10.0+cu102
True
如果没有错误提示则表示成功安装,并显示版本信息。
其它依赖库的安装
当缺少某个库时:
# py37
pip install 库名
有些代码的实现不仅仅需要一个库,同时需要matplotlib、numpy等,当需要文件较多的时候,Bubbliiiing介绍了一种方法,创建一个文本文件,在环境下安装。该博主在b站也有相应的安装配置视频。
在文本文件中输入想要加入的库,保存,在命令提示符py37环境下输入相应的代码:
# py37
pip install -r 创建文本文件的位置
当全部安装完成后重启电脑
编程环境因人而异,有幸被看的上上使用的是pycharm,Bubbliiiing使用的是VSCode,两款软件我都进行了尝试,分别介绍这两个软件的配置。
VSCode
打开Anaconda,注意要把环境切换为自己创建的环境名字,我这里创建的是py37
需要在这个环境下运行VSCode。
打开VSCode后,左下角环境也要对应。
Pycharm
打开pycharm后,点击右下角“添加解释器”
这里需要选择的是Conda Environment,因为之前是利用conda创建的环境;
接下来选择Existing environement;
最后解释器是环境文件夹下python.exe可执行文件,Conda executable不进行修改。
conda info -e #查看当前有哪些环境
conda create -n 新名 --clone 旧名 # 克隆新的环境
conda remove -n 旧名 --all # 删除旧环境
conda info -e # 查看是否转换成功
参考链接:conda 创建/删除/重命名 环境名称 | 版本信息 |
---|---|
Anaconda | 4.10.3 |
CUDA | 10.2 |
cuDNN | 8.3.0 |
pytorch | 1.10.0+cu102 |
vscode | 1.62.1 |
注意 | |
CUDA、cuDNN和pytorch三种的版本信息是要相互匹配的,检查CUDA与torch是否匹配的方法见博文Pytorch错误:Torch not compiled with CUDA enabled | |
卸载第三方库的方法见博文Anaconda安装、查看、卸载第三方库 |