conda环境配置+pip、conda包库管理+pytorch-gpu安装——三合一

环境配置-pytorch

一.何为环境?

在这里插入图片描述

其实对于一台电脑就是一个环境,在这个环境下你可以干任何事情,而不受外界影响。

因此,环境就是一个可以隔离外界而容纳内部的一些属性或者操作——是不是非常像面向对象的类的概念?

当下比较流行的python环境管理有pip和anaconda。

这里我们就不介绍一些无聊的介绍,你只需要知道这两个是可以进行python包库统一管理的软件。它们的历史渊源可以自行查阅。

对于anaconda而言,其是目前包含了Python和各种用于科学计算的包、可以完全独立使用的一款软件。anaconda“有一个虚拟环境的概念,每个环境之间是隔离的,都可以设定不同的Python版本以及各种包,不和系统的冲突,可以随便切换”,所以十分方便。

其有虚拟环境管理包库管理的功能。


tips:anaconda实际上不仅仅可以管理python还可以管理R、C等语言库,而pip是针对于python设计的,因此更加专业化,我们也常用pip,但是安装环境还是得用anaconda。


对于pip而言,一般来说就只有包库管理的功能了。

那么我们可以这样理解,anaconda建立一个虚拟环境——类似于虚拟机的概念,这个环境在电脑这个大环境下,与非我的环境相互隔离,然后进入这个环境后进行编程和软件运行等操作。

二.建立虚拟环境流程

1.创建环境

首先我们通过anaconda的命令conda create -n 环境名字 python=版本号干一件事情:“通过conda的create命令创建一个名为xx的、python版本为xx的虚拟环境”。

在这里插入图片描述


tips:所谓的命令实际上还是exe文件,命令仅仅是起到了一个用户-软件exe的接口交互的作用——类似于函数接口(API)


2.激活环境

然后使用命令“activate 环境名字”进入环境。

在这里插入图片描述


tips:
首先,我们的这些操作都是在终端-terminal中进行的,所谓终端:对于软件设计都有一个后端-用户端口的设计模式,这个用户端口的“显示界面”可以理解为终端。上面的api就是连接后端功能和终端的部分之一。

​ 然后,windows的终端就是命令行-cmd,anaconda使用cmd终端建立环境有3部分:环境名称、目录和命令:

在这里插入图片描述

​ 你在哪个目录下打开cmd就是在哪里进行操作。


3.管理包库

最后可以通过conda list(查看已安装库)、conda install进行包库管理。当然,也可以通过pip管理,如果你是python软件开发,推荐优先使用pip。

相关的常用命令在下面。

conda create -n xx python=3.8 //创建python3.8的xx虚拟环境
conda remove -n xx --all //删除xx虚拟环境
conda activate xx //进入xxx环境 
conda deactivate //关闭环境 
conda env list //显示所有的虚拟环境 
conda list //查看通过conda已经安装的文件包
conda install xxx //安装xxx文件包
conda update xxx //更新xxx文件包 
conda uninstall xxx //卸载xxx文件包 
conda search xxx //查询xxx文件包的版本 
pip list //查看通过pip已经安装的文件包
pip install xxx //安装xxx文件包
pip uninstall xxx //卸载xxx文件包 
pip search xxx //查询xxx文件包的版本 
pip install –U xxx //更新xxx文件包 

4.conda和pip换源(可选,创建环境之前完成)

​ 所谓换源,因为pip install或者conda install本质还是我们平常从网上下载视频或者图片,只不过这些命令帮我们省了很多步骤——包括选定安装位置和安装步骤等。

​ pip和conda默认从外国网站进行下载python包库,但是国内网站像清华、阿里等有相关包库可以下载。

如果是pip,需要在用户目录的pip目录:C:/user(用户)/用户名/pip/下找到pip.ini——没有的话自己创建一个。

在这里插入图片描述

然后选择以记事本方式打开,编辑如下内容:

[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

是不是特别像用户配置文件——.cfg?global是作用的section,option-timeout是超时限制、下方的就是说明我们从哪里下载包库。

如果是conda,一样的道理,同样的用户目录下找到这个文件:

在这里插入图片描述

编辑如下内容:

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

这两个配置就是我目前用得比较稳定的配置,当然你也可以根据自己情况更改。

三.Cuda和CuDNN+安装gpu版本的pytorch

在这之前我们需要搞清楚这几者的关系:GPU、cuda、cudatoolkit、cudnn、pytorch(GPU版本)(我们一般都不用pytorch-cpu版本)。

GPU是计算机的专门处理图像的处理器,说到GPU就不得不提大名鼎鼎的英伟达公司了,一般如果一个电脑配置了英伟达的显卡GPU,都会带着一个驱动程序:

在这里插入图片描述

通过这个驱动程序可以管理你的GPU。

CUDA的话,你应该经常会听到“英伟达公司生产的某某显卡,配置了xxx个cuda单元”。cuda是英伟达生产的通用的并行计算的运算平台,可以解决复杂的计算问题。它就相当于是基于GPU的工作台,多个cuda负责完成各种计算。

cudatoolkit是简化版本的cuda,主要包含了编译器和一些科学库和实用程序。

cudnn可以理解为cuda and neural network,也就是cuda专门面向深度学习神经网络设计的cuda升级包。

pytorch-gpu没什么好说的,就是基于gpu的一个深度学习框架。


下面,我们来安装gpu版本的torch


1.查看可以安装的最高版本的cuda

进入英伟达驱动程序的界面。

查看显卡信息。

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

这里的NVCUDA64.DLL就说明了我们可以安装的cuda最高版本是11.4.112。

2.确定可以安装哪些cuda

使用conda search cudatoolkit命令查看安装源存在的cuda版本。

在这里插入图片描述

再打开pytorch官网查看对应的安装命令。我们就按照一个10.2版本的cuda。

torch以往版本对应查看:https://pytorch.org/get-started/previous-versions/

在这里插入图片描述

3.检测安装是否成功

安装好了进入python看一下能不能使用GPU。
在这里插入图片描述

在这里插入图片描述

使用torch包的cuda子模块的is_available函数可以检测cuda也就是GPU是否用上了。

tensorflow的cuda安装要麻烦一些,对于pytorch,博主在安装过程中是已经安装了cuda和对应cudnn,直接安装cudatoolkit就可以了。但是,目前有一种假设,只安装cudatoolkit就可以了,因为cudatoolkit就是简化版cuda,对于深度学习够用了。

目前我的这个猜想仅供参考,后续会更新博客。

da子模块的is_available函数可以检测cuda也就是GPU是否用上了。

tensorflow的cuda安装要麻烦一些,对于pytorch,博主在安装过程中是已经安装了cuda和对应cudnn,直接安装cudatoolkit就可以了。但是,目前有一种假设,只安装cudatoolkit就可以了,因为cudatoolkit就是简化版cuda,对于深度学习够用了。

目前我的这个猜想仅供参考,后续会更新博客。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值