【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南

Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南

给本科生写的新手教程,遇到很多新手的共性问题,可供大家参考。在开始阅读之前,请注意两个要关键:1.为什么要使用Conda而不在本地直接安装Python,体会Conda带来的区别和优势。2.明确CUDA版本和torch-gpu版的兼容情况。

文章目录

  • Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南
    • 1. Conda介绍与安装
      • 1.1 Conda简介
      • 1.2 为什么要使用Conda?
      • 1.3 Anaconda vs. Miniconda
      • 1.4 Windows下Miniconda安装与配置
        • 过程
        • 验证
      • 1.5 Conda基本使用
      • 1.6 Pycharm集成Conda
    • 2. Pytorch安装
      • 2.1 Pytorch简介
      • 2.2 Conda安装Pytorch
        • 2.2.1 CPU版本安装:
        • 2.2.2 GPU版本安装
        • (1)确定本机的独立显卡、CUDA驱动版本和CUDA版本
        • (2)确定本机的CUDA支持的torch-gpu版本和CUDA Toolkit版本
      • 2.3 本地Python直接安装
      • 2.4 验证

1. Conda介绍与安装

1.1 Conda简介

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

1.2 为什么要使用Conda?

考虑下图的场景,三个项目,使用了三种不同的Python和依赖包(特别是在做深度学习相关研究的场景下,需要复现其他论文的代码工作进行对比试验,不同版本的库很可能存在许多冲突),如果你在本地直接安装Python,会产生冲突。难道我们要先创建项目A的环境运行项目A,然后卸载该A环境再创建项目B的环境运行项目B…

但是如果使用Conda,就可以通过Conda,在本地同时创建多个Python环境,并在它们之间轻松切换,每个环境都是独立的,不会影响其他环境

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第1张图片

1.3 Anaconda vs. Miniconda

是Conda的两种发行版,Anaconda比较繁杂笨重,miniconda比较干净轻量

Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,就是把很多常用的不常用的库都给你装好了。

Miniconda,顾名思义,它只包含最基本的内容—python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。就只包含最基本的东西,其他的库得自己装。

建议使用Miniconda,已装了Anaconda的同学可以无视。

1.4 Windows下Miniconda安装与配置

本地直接安装的Python的同学,如果想换Miniconda,直接把本地的Python直接卸载,如卸载,记得将原本配置的Python环境变量删除,否则系统会默认原来的路径,执行某些命令产生错误。

过程

  1. 从Miniconda官网下载安装包,如图所示,该选项会默认安装一个对应Python版本作为base环境;

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第2张图片

  1. 一路Next和Agree,直到让你Select Installation Type

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第3张图片
【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第4张图片

  1. 这时候建议选择Just Me,对于有多个硬盘的同学,如果选择All User,后面创建环境会默认创建到C盘,

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第5张图片

​ 即出现如下情况(pytorch环境装到了C盘,我们大多数人不希望把它装到系统盘);

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第6张图片

  1. 选择你想要安装的目标路径(我这个演示电脑只有一个C盘),然后继续Next;

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第7张图片

  2. 建议只勾选✔第一个第三个(创建快捷方式;我们自己添加环境变量以避免带来一系列未知冲突;将base环境的python设置为本机的默认Python;

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第8张图片

  3. 可以都不用勾选;

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第9张图片

  4. 配置环境变量。在系统环境变量的PATH变量中,根据你在本地安装Miniconda的路径,添加如下三个环境变量:
    在这里插入图片描述

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第10张图片

  1. 理论上已经安装成功。

验证

  1. 打开cmd终端命令提示符,直接输入命令:conda,出现如下信息即表示安装成功;

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第11张图片

  1. 直接输入命令:python,进入python解释器,会显示默认的base环境的Python版本相关信息。

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第12张图片

1.5 Conda基本使用

  • 初始化,第一次在本机安装Conda的同学可能会遇到如下问题:

    You may need to close and restart your shell after running ‘conda init’.

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第13张图片

此时,输入如下命令执行,然后关闭终端命令行窗口重新打开即可。

conda init cmd.exe
  • 创建环境:py39test是环境名,请自行定义,python=3.9表示在本环境中安装Python3.9,根据自己的需求自行更改。

    conda create -n py39test python=3.9
    
  • 激活环境(即进入某个环境),进入该环境后才能对该环境进行操作。

    conda activate py39test
    
  • 退出环境

    conda deactivate
    
  • 删除环境,指定环境名进行删除。

    conda remove -n py39test --all
    
  • 查看环境

    conda env list
    

    可见当前conda中存在base和py39test两个环境

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第14张图片

  • 进入某一环境后,在当前环境安装其他库与使用pip相似,如:

    conda install pandas
    

    当然,也可以在当前环境直接使用pip进行安装,二者一般被认为是几乎相同的。conda存储库中提供了1500 多个包,但与PyPI上提供的超过150000个软件包相比,它仍然很小,因此,很多时候所需要安装的包只能通过pip安装

  • 更换下载源

    这一步做不做都行。因为conda默认使用官方源进行下载,速度会相对慢,特别是像Pytorch这样很大的包,可以更换成国内源加速下载,如清华镜像源。

    • Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。该文件自动生成在C盘-用户-用户名下。

    【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第15张图片

    • 打开.condarc文件后,将内容重置为(注意格式):

      show_channel_urls: true
      channels:
        - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
        - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
        - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
        - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
      ssl_verify: true
      
    • 然后运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

    • 后续如果要使用清华源进行下载,需要将命令最后的’-c pytorch’参数去掉

  • 更多conda命令请自行百度。

1.6 Pycharm集成Conda

在Pycharm中如何使用Conda环境的Python解释器呢?

  1. 打开项目,点击File->Settings,搜索找到Python Interpreter,在右侧点击Add Local Interpreter…如图所示:

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第16张图片

  1. 选择Conda Environment,将Conda executable的路径设置为MinicondaScripts下的conda.exe文件的路径,然后点击右侧的Load Environments,加载Conda环境列表。(注意不要选择Virtualenv Environment,会自己创建Pycharm自带的虚拟环境

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第17张图片

  1. 注意,点击Use existing environment,选择一个现有的Python环境作为当前项目的运行环境,Miniconda3即为base环境,但是也不建议直接使用base环境,这里我选择py39test。点击OK,成功,可以自行运行代码测试一下。
  • 这里如果没找到,请在interpreter那一行,右边有个三点,自行找到你安装的虚拟环境路径,添加该环境下的python解释器。

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第18张图片

Conda自带的默认的base环境的解释器就在安装Conda的根目录下:

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第19张图片

其余环境在envs文件夹下;

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第20张图片

进入某个环境文件下,选择该解释器的路径,即可在Pycharm中使用该虚拟环境。

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第21张图片

如图所示:

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第22张图片

2. Pytorch安装

2.1 Pytorch简介

一个当前学术界最流行的简洁、快速、高效、易用、生态丰富的开源深度学习框架,基于Python,支持GPU加速计算。

2.2 Conda安装Pytorch

  • 注意,安装之前,请先明确你要在哪个环境下安装Pytorch先激活(conda activate xxx)进入该环境才能在该环境下安装该库否则会默认安装在base环境下。(打个比方,每个环境就像一个独立的房间,对其他房间不会有任何影响,你要先进入房间,才能对该房间进行任何操作,并且你的这些操作就不会影响其他房间。)
  • 激活进入py38test环境,在该环境安装pytorch,不会影响到其他环境。
  • 激活以后,终端命令行左边就会带(当前环境名),如下图所示,我已进入本机conda的py38test环境下:

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第23张图片
打开Pytorch官网,根据需要PyTorch版本、你的操作系统、Conda/Pip(没有Conda的直接使用pip)、语言、计算平台选择指令,官网页面只提供最新的版本安装指令。

点击Install previous versions of PyTorch可以查看过去已发布的Pytorch版本安装指令(建议到这里面找,)。

  • 注意,官网提供的最新的pytorch1.13版本的安装指令有个小错误:
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -nvidia

最后的’-nvidia前面少了个-c’,更改为

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c -nvidia

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第24张图片

此外,Python和Pytorch版本存在对应关系,具体可以查看:torch/torchvision/python版本对应关系。根据下图,建议不使用过高或者过低的Python版本,就可以兼容大多数Pytorch版本。

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第25张图片

2.2.1 CPU版本安装:

本机没有NVIDIA独立显卡的同学只能安装CPU版,必须是NVIDIA,而且是独显,集成显卡也不行。

命令:

conda install pytorch torchvision torchaudio cpuonly -c pytorch
  • 使用清华源的同学,就要去掉最后的’-c pytorch’才能从清华源下载,该参数表示从pytorch官网下载。
  • 此外,该命令默认同时安装最新的pytorch和torchvision、torchaudio,大家可以根据自己的需求指定版本(应该是指定pytorch版本即可,torchvision和torchaudio都依赖pytorch,且存在版本依赖,会自动安装当前pytorch支持的最高版本)。

再如,我们指定pytorch版本为1.9.0,torchvision为0.10.0,不安装torchaudio:

conda install pytorch==1.9.0 torchvision==0.10.0 cpuonly -c pytorch

2.2.2 GPU版本安装

安装GPU版的Pytorch,首先需要有NVIDIA独立显卡和CUDA驱动,驱动一般都装好了(没有自行百度),然后需要安装CudaToolKit。NVIDIA CUDA Toolkit是一个专业的CUDA工具包,为用户提供了专业的开发环境,创建经GPU加速的高性能应用。(大概意思就是有CUDA Toolkit你才能使用GPU加速神经网络。)

(1)确定本机的独立显卡、CUDA驱动版本和CUDA版本

打开终端cmd,命令:

nvidia-smi

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第26张图片

(2)确定本机的CUDA支持的torch-gpu版本和CUDA Toolkit版本

原则:驱动是向下兼容的,其决定了可安装的CUDA Toolkit最高版本官方推荐的cuda版本为10.2和11.3,这两种 cuda 支持大多数的 pytorch 版本。但是,请注意,有些同学的显卡比较老了,如果是CUDA是10.2,最高只能支持到torch-gpu的1.10.0版本,也就是说CUDA10.2安装不了torch-1.10.0以上的GPU版本,但是CPU版本可以,只要你的python版本符合要求。

  • 具体可以参考这篇文章:PyTorch、CUDA Toolkit 及显卡驱动版本对应关系

例如,我的NVIDIA驱动版本是516.59,根据下图,我可以装的CUDA Tookit的最高版本是11.7,并且向下兼容可以安装10.1~11.7的全部版本。

【教程】Windows下Miniconda+Pytorch+Pycharm开发环境搭建指南_第27张图片

  • 这时候如果我想安装Pytorch1.12.1的话,根据官网提供的命令,可以是:
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

也可以是:

# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

2.3 本地Python直接安装

这一步是针对不安装Conda的同学的

  • CPU版直接使用pip命令安装对应版本;

  • GPU版根据CUDA驱动版本,直接pip安装,和conda其实是异曲同工的,一般是在安装时加上’torch==xxx+cuxxx’这样的参数,具体请查看官网命令。

如:(显然,如果你进入conda环境后,也可以使用下列命令安装torch-gpu版,因为我们在前面说过,conda环境下使用conda install和pip install是基本一样的,只是拉取这些库的源不同,请仔细体会conda的作用。)

# CUDA 11.6
pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.3
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
# CUDA 10.2
pip install torch==1.12.0+cu102 torchvision==0.13.0+cu102 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu102
# CPU only
pip install torch==1.12.0+cpu torchvision==0.13.0+cpu torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cpu

2.4 验证

import torch
print(torch.cuda.is_available())
# 如果成功安装了CPU版本,会输出False
# 如果成功安装了GPU版本,会输出True,集成显卡也会输出True,但是用不了。
# 没有报错即安装成功。

你可能感兴趣的:(教程,pytorch,python,windows,pycharm)