B站:马上就更!!!_bilibili
CSDN:手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南_百年后封笔-CSDN博客
Github:封笔
公众号:百年后封笔
你好,我是封笔!
如今深度学习技术的不断演进,我们的生活发生着翻天覆地的变化,无论是计算机视觉、自然语言处理还是推荐技术都有着不同程度的革新。随着工具和知识的不断完善,我们学习深度学习的门槛越来越低,对于想快速入门的同学,往往需要搜集各种资料,很难找到一个完善的入门教程,这里为了满足初入深度学习的同学的需求,特别记录一下深度学习入门的系列文章吧,说到深度学习框架,便于上手且学术界用的最多的就是PyTorch啦,要配置PyTorch环境最好就是先安装好python环境和Anaconda包管理工具,本文就为大家介绍深度学习——Python和Anaconda环境配置的全流程,手把手教大家完成Python深度学习环境配置!
相信初入深度学习的朋友们可能对于python、anaconda还有pytorch这一系列的名词感到迷惑,不知道到底应该先安装哪一个,每一个又分别有什么用。这里,我大概介绍一些这三者都是什么东西,以及他们各自的作用,相信了解了这三者的关系之后,我们自己在配置的时候就更加得心应手啦!先来看一下他们三个都是啥玩意:
Python是一种广泛使用的编程语言
,在许多领域都有应用。它具有简洁的语法,易于学习,并且有大量的第三方库可以使用。
Anaconda是一个Python的包和环境管理软件
,提供了许多用于数据科学,机器学习和科学计算的库和工具。它还提供了一个软件包管理器conda,可以轻松安装和管理Python库和其他软件包。
PyTorch是一款开源深度学习框架
,基于Python开发。它提供了大量的功能和工具,可以帮助用户训练和开发神经网络模型。 PyTorch可以通过pip或conda进行安装,因此它与Anaconda和Python之间有着密切的关系。
所以通过上面的解释,联合起来就是说:
首先,我们需要配置好Python的语言环境,作为我们基本编程使用;但是呢,实际开发中,我们往往需要对不同的工程需要安装不同的第三方库,A项目的几个包和B项目的包的版本可能是冲突的,那这就可能需要反复改环境中的包版本,这岂不是很麻烦?这时候就需要Anaconda,来帮助我们创建不同的虚拟环境,各个环境之间你可以配置和项目对应的包和版本,这样就不会冲突,也显得非常的优雅。那么最后的pytorch呢,他其实是依赖一些其他第三方库的框架,当然,它也可以算是一个第三方库,可以认为他的作用是专门用来做深度学习的框架,因此我们一般是专门为他创建一个虚拟环境,是不是很牌面,对没错。
很多同学可能比较迷惑,不是说要先配置python环境吗,这里怎么一上来就是anaconda,其实不然,anaconda本身安装好就会自带一个base环境
,里面是最新的python解释器和相关的包管理工具等,所以我们完全不需要单独安装python,而如果你只是简单使用python杀杀鸡,那么也不需要anaconda这个牛刀,hhh~。
这里我们主要按照windows下anaconda环境的配置方法来演示,linux和mac上的配置其实大同小异。
废话不多说,开整!
一般下载起来还是非常快的,如果觉得下载速度比较慢的话,那么也可以去清华源瞧瞧,如下所示,选择最新的且和自己电脑所适配的版本就行,Windows这边是Anaconda3-2022.10-Windows-x86_64.exe,如果你是Mac的话,那你选择上面的Anaconda3-2022.10-MacOSX-x86_64.pkg就ok。
然后就是安装过程了,这里我就不继续啦,大家等待安装就ok啦~ 顺手可以收藏一哈这篇文章呀!
输入conda -V
,一般会有两种情况,下面这种就是安装好了的。
如果报错了,那么需要你将anaconda的安装路径先找到,比如,是在C:\Users\xxx\anaconda3
,那么接着你就需要在你的系统环境变量里面,把下面几个路径加入到path
里面,也就是把anaconda的bin
和Scripts
路径加入到环境变量里面去,如下:
C:\Users\xxx\anaconda3\bin
C:\Users\xxx\anaconda3\Scripts
C:\Users\xxx\anaconda3
操作完之后,再检验一下conda有没有安装好就行了,一般出问题就是环境变量没加入进去
,其他没啥问题。
在我们安装包的过程中经常会遇到网络不佳或者下载缓慢的问题,这个时候就需要配置一下pip源和anaconda源,下面给出pip源和anaconda源的配置方法:
为了解决安装相关依赖包,国内下载python非常慢的问题,我们需要先配置一下pip镜像源,具体做法如下:
C:\Users\xxx
中创建一个名为pip
的文件夹,然后在里面创建一个pip.ini
文件,注意后续需要修改这个文件内容,因此可以先把名字改成pip.txt
,后续再改成pip.ini
pip.ini
文件内容,然后保存就可以啦!就是这么简单~[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
当然你也可以使用下面的几种源来替代上面pip.ini
文件中的index-url
的值,如下:
anconda源的配置方法如下:
C:\Users\xxx
中找到一个叫做.condarc
的文件, 如果没有那就创一个!channels:
- defaults
show_channel_urls: true
default_channels:
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
如果你不清楚的话,也可以参考这个清华源的官方教程或者评论给我!官方教程中地址可能是https开头的,但实际可能会出错,那么你把https
改成http
就ok了,这里给大家的直接是http
~
好了,万事俱备!我们终于可以丝滑地地针对不同的项目需要创建自己的虚拟环境,在虚拟环境中安装不同的python版本和第三方库,废话不多说,开干!
还是先打开cmd,输入conda env list
,如下图所示,可以看出我们有不少虚拟环境,最基本的就是base环境,其他是我之前创建的。前面是环境名,后面是对应的环境相关的依赖和包的路径。
接着我们输入下面的命令,创建一个python版本为3.9
,名字叫做my_env
的虚拟环境,如下所示:
conda create -n my_env python=3.9
输入y
继续下一步,他就会火速安装一些包,然后看到下面的就ok了
好了你已经拥有了自己的虚拟环境,下面我们看看里面有什么东西呢?以及如何用你虚拟环境的python解释器来运行python代码呢?
首先,还是打开cmd,使用activate my_env
或 conda activate my_env
激活你的虚拟环境,你就可以看到命令行前面有一个(my_env),说明你已经进来了。然后输入conda list,就可以看到你这个虚拟环境里面的包和版本号
这里浅浅测试一下python吧,先在cmd
中输入python
,进入python终端,然后输入下面的代码,就会产生魔法,发射爱心!
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))
当然想退出的话,输入exit()
就可以啦。
下面罗列一些常用的conda命令,供你参考使用
# 建立新环境
conda create -n new env_name python=3.8
# conda初始化
conda init
# 激活虚拟环境
conda activate env_name 或者 activate env_name
# 查看虚拟环境
conda env list
# 删除虚拟环境
conda remove -n env_name --all
好了现在到了环境配置的最后一个阶段啦,感谢你的坚持!
深度学习研究至今,已经有很多框架供我们使用,其实说到底,深度学习框架我们可以认为是一个炼丹的炉子,别人已经把炉子给我们造好了,我们只需要按照步骤使用炉子炼丹就行了。目前比较主流的深度学习框架包括:PyTorch、Tensorflow、Caffe等等。当然为了完成端侧模型开发部署的需求,例如MNN、TNN等端侧框架也十分常用。科研中使用PyTorch更多一些,因此我们这里还是按照PyTorch的安装来作为实例吧,如果大家有别的需求也可以留言告诉我,可以出番外篇hhh~
配置Pytorch环境其实也是分为两步的,根据我们自身算力设备的限制,会有所不同,主要分为CPU和GPU版本,GPU主要是针对英伟达显卡而言的,安装起来相对麻烦一些,cpu版本可以用来做一些测试,在训练时相比于gpu版本缺少了并行加速,从而速度会慢很多。如何判断自己是否有英伟达显卡呢?打开任务管理器,点击GPU,如果出现了红框中的字样,那么很幸运,你是尊贵的显卡拥有者,可以安装gpu版本的PyTorch。
不过如果像下图一样,你没有显卡,只有一个集成显卡,也不要慌,我们还有cpu版本的PyTorch,如果你可以忍受在模型训练时风扇嗡嗡作响的声音,以及无穷无尽的训练进度的话,那也完全没问题哈哈哈,或者说你只是想跑一个代码的测试,那cpu也完全ok的。
废话不多说,开整!
cpu版本的安装很简单呀,
conda install pytorch torchvision torchaudio cpuonly -c pytorch
这段命令要运行在哪里呢,其实只需要先在cmd中激活我们的第二步用Anaconda创建的my_env这个虚拟环境就ok,然后再输入上述的命令即可,如下所示:
processd
输入y
即可耐心等待自动安装啦~
我们可以在安装好之后的cmd中,输入python
,然后输入红色框中的两段代码,第一段是导入torch这个包,然后创建一个5*3的tensor向量并打印出来;第二段是检查gpu是否可用,cpu版本的gpu肯定是不可用的(总不能无中生有吧哈哈哈):
import torch
x = torch.rand(5, 3)
print(x)
import torch
torch.cuda.is_available()
如果你出现了和上图类似的结果,没有出现error
,那么恭喜你,安装成功啦,你已经可以去去跑很多别人预训练好的模型和代码啦~
很多时候我们需要去按照项目的要求去安装PyTorch的版本,这时候一般有两种:
例如我们需要配置目标检测的yolov5的环境,先下载yolov5项目,然后注意下他里面的requirements.txt
,如下图所示。
我们进入到yolov5的文件夹中,然后打开cmd,激活虚拟环境,然后输入pip install -r requirements.txt
,如下图所示,即可按项目要求安装。
这个自由度更高,当你对自己的版本需求很明确的时候,你可以直接去pytorch历史版本中寻找自己要的包,例如:你的平台是linux或者Windows,你要用pip安装你的包,并且想安装cpu版本的pytorch,版本为1.8.1,那你可以直接复制其中的pip命令
,如下所示:
pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
当然,你也可以使用conda安装,或者按照平台,按照包的版本,cpu或者gpu来选择不同的指令,这块适合于对环境需求非常了解的同学!初入学习的同学,可以先略过哈哈,当你经受了环境配置的毒打,应该会更加明确自己的需求。
这块的话,主要涉及到三部分:
cuda
cudnn
的安装和cudatoolkit的安装gpu版本PyTorch
的安装了,这个和cpu版本类似,选命令去装就ok。这块可以参考我之前的一篇文章,当时用到的是nvidia的3080显卡,在windows平台上配置pytorch1.7.1版本的说明,3080+pytorch1.7+windows的详细安装过程。