Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程

Anaconda+Pytorch+Pycharm

    • 写在前面
    • 流程
      • 安装python相关环境
      • 安装cuda
      • 安装pytorch
        • 确定版本
        • conda换源
        • 建立虚拟环境
        • 未成功的路——conda安装
          • 离线安装
          • 在线安装
        • 走通的路——pip在线安装
        • 验证
      • 配置到pycharm
    • 参考

写在前面

  • 背景:纯小白配环境,可能在配置逻辑方面无法自洽,但是缘分到了,终归是配出来了~
  • 收获:最大的收获就是一定要强迫自己去看英文错误信息,也许会有惊喜,而不是遇到错误立刻复制粘贴,即勇敢地面对它!
  • 预期:未来可能会转到Linux和docker上面去,听说很香~
  • 系统配置:WIN10专业版 64位+RTX3070
  • 安装环境:Anaconda+Pycharm+Pytorch(GPU版)+Cuda

  Tips:由于本人不小心点了reboot now!,命令行内的错误信息和结果没能及时截图保存,大家可自行脑补~另外,遇到错误信息不用烦恼,只要耐心寻找,一定有解决方案滴!祝各位踩坑开心 ~

流程

安装python相关环境

  python相关环境主要是这三大件python包+anaconda桶+pycharm编译器(根据个人喜好自由选择IDE)。这些在官网下载即可,安装都比较方便。唯一需要注意的是,这些安装过程中一定要添加到本机的路径,也就是add to my path。以anaconda安装举例,第一个选项就是添加路径,一定要勾选上,第二个默认绑定python3.8版本。我本机装的是python3.8版本,所以我也勾选上了。这里也要注意,python版本较多,不同版本之间的操作细节可能不太一样。
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第1张图片

  虽然anaconda神器已经预装了很多我们会用到的python包,诸如numpy,matplotlib,sklearn等,但我们还是可能会用到pip包管理工具下载包。由于pip的源非常慢,此时我们可以换个镜像源,瞬间提高下载速度。
  在windows系统下,无需命令行指令,只需在C:\用户\AdministratorAdministrator是我主机的用户名)内新建一个名为pip文件夹,而后在该文件夹内新建一个名为pip.ini的配置文件。用记事本打开,配置文件内容如下:

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

  保存即可,命令行内使用pip install 你想安装的包名,体验飞一般的速度~

安装cuda

  CUDA到官网根据自己需要安装即可。
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第2张图片

  这里需要注意的是,如果你的的主机已经预装了显卡驱动和图形驱动程序(N卡控制面板),不出意外,你会安装失败~不用担心,此时你只需要卸载带NVIDIA的全部程序,你的电脑可能会闪屏,分辨率可能会降低,这些在你安装完cuda之后再回到官网重新下载显卡驱动即可,安装过后一切恢复正常。
  如果你装回显卡驱动后,发现无法打开N卡控制面板,这个问题我也遇到过。。。后续我会再写一个解决方案,大家也可以自行检索,还是比较容易滴。
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第3张图片

安装pytorch

  这一部分的方法五花八门,大家可以自行选择,条条大路通罗马。我整理了一下,大概分为几个方向,同时我也标记出了我走通的方向。再次提醒,因人而异~Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第4张图片


确定版本

  对照pytorch官网的安装要求选择自己的版本即可。包括当前pytorch版本(1.7.1,离线安装需要找到对应包),OS,包管理工具(conda或pip),编程语言(python要注意版本,每个版本对应的pytorch包也是不同的)以及cuda版本。
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第5张图片

  在cuda安装章节中,大家自会发现自己的cuda版本。如果没有找到也没关系,打开N卡控制面板->帮助->系统信息->组件即可找到自己的版本。
  我安装的cuda版本是11.1(无伤大雅~),在pytorch的cuda版本选择11.0即可。

Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第6张图片


  run this command是pytorch的在线安装指令。如果直接使用,可能会下载超时导致安装失败。因此,换源是你的必经之路。

conda换源

  打开anaconda中的powershell prompt
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第7张图片


  在命令行中输入如下指令将conda源换成清华的。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
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 create/install 包名指令中,我遇到了CondaHTTPError报错。通过百度找到了一个可行的办法,进入C:\用户\Administrator找到.condarc文件,将default那一行删除,然后再讲镜像地址中的https全部换成http即可解决该报错。

Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第8张图片


建立虚拟环境

  我们要建立一个含有pytorch框架的虚拟环境(该虚拟环境会在pycharm配置中起关键作用),下次想要编写pytorch相关代码就进入到这个虚拟环境中即可。
  仍然在anaconda中的powershell prompt输入如下指令:

conda create -n pytorch python=3.8.0

这样就是创建了一个名为pytorch(注:随意命名,能记住就行)的虚拟环境,该环境的python版本为3.8(注:自行选择合适自己的版本,主要用于pytorch版本确定环节中)。之后激活该环境:

conda activate pytorch

  注:接下来可跳过辛酸踩坑史,直接看pip安装环节~

未成功的路——conda安装

  这里主要分为离线安装和在线安装,我都没走通,呜呜呜~

离线安装

  离线安装就是到清华源找到对应版本的pytorch和torchvision包,下载到本机即可。比如我的版本是pytorch-1.7.1-py3.8_cuda110_cudnn8_0.tar.bz2torchvision-0.8.2-py38_cu110.tar.bz2,大家要根据自己的环境确定版本。此外,要注意下载到本机的包后缀是没有.bz2的,在接下来的离线安装中一定要加上。
  激活虚拟环境,找到下载的包所在位置,如图(我的本机位置):
离线安装


之后输入如下指令离线安装即可:

conda install --offline pytorch-1.7.1-py3.8_cuda110_cudnn8_0.tar.bz2
conda install --offline torchvision-0.8.2-py38_cu110.tar.bz2

然而当时我并未成功,如下图(注:即使加了.bz2还是报错PackageNotFoundError):Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第9张图片


  当写这篇总结之时,我发现还有一个解决方法没尝试(当时已经麻木了~),就是这篇博客,貌似可行。装环境很随缘,过段时间再试一试。大家也可先行踩坑 ~

在线安装

  在线安装就是将pytorch官网中的run this command指令输进powershell prompt即可。注意:先激活环境!

conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

使用该指令后,倒是没有报错。不过它下载超时,似乎还是连接到了官方源。在百度后,找到了这个解决方案,将末尾的-c pytorch删除即可连接到我们已经配置好的清华源。

conda install pytorch torchvision torchaudio cudatoolkit=11.0

该指令可以下载成功,但是下载的版本是pytorch1.6,没有注意到python和cuda的版本是否匹配(配置到麻木~)。没办法,只能将pytorch环境卸载重装。

走通的路——pip在线安装

  在激活环境后,直接使用pytorch官网的run this command指令:

pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

虽然已经换过pip的源,但仍可能出现下载超时的问题。这时候只需加上指定镜像源即可:

pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple

终于出现successfully啦!可惜重启前没有截图留念~

验证

  验证方法有很多,这里说一个简单的方法。
  在安装成功后,不要离开powershell prompt。在当前虚拟环境中输入python启动python编译环境,紧接着在>>>后输入如下代码(每输一行回车即可,回车没有报错也就说明安装成功啦)

import torch
torch.cuda.is_available()

# 输出true,安装成功

  如果你还不放心,也可参考b站大神稚晖君的验证脚本。我也试了一下,同样能看到正常的训练过程。
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第10张图片


配置到pycharm

  终于来到了最后一步,挑一件趁手的兵器干活!这里我选用pycharm进行编程!如果我们直接创建新项目,而后import torch,那么很有可能会报错。因为此时我们所处的虚拟环境并不是我们创建的含有pytorch框架的conda环境。注:我们配置的conda虚拟环境默认安装在anacondaenvs文件夹内!
  那么问题来了,我们如何将我们创建的conda环境添加到当前项目环境中?
  如下图所示,首先找到File->Setting->Project:<当前项目名称>->Python Interpreter中的箭头所指图标,而后点击图标并选择Add...进入添加页面。

Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第11张图片


  在添加页面中,有如下操作顺序:

  1. 选择左侧Conda Environment
  2. 选择右侧Exisiting environment
  3. 选择最右侧...图标添加conda虚拟环境;
  4. 添加我们创建的名为pytorch虚拟环境,它默认安装在..\Anaconda\envs\...中。

成功添加名为pytorch的conda虚拟环境,下面是该部分的操作图解。

Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第12张图片


  最后回到Python Interpreter页面,选择我们刚添加的pytorch环境。

Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第13张图片


  圆满结束,愉快地编程吧!
Windows系统下Anaconda+Pytorch+Pycharm配置踩坑历程_第14张图片

参考

  • 通俗易懂的配置思路
  • 大神的配置方案
  • 涵盖三大系统的配置
  • pip换源
  • conda换源
  • CondaHTTPError报错
  • 清华源
  • PackageNotFoundError报错

你可能感兴趣的:(开发踩坑,笔记,anaconda,深度学习,pip,pytorch,pycharm)