新电脑从0安装pytorch

摘要

买了个新电脑,从零开始安装python深度学习的代码环境,其中遇到了一些问题,在此记录步骤以及问题的解决。安装中搜了很多博客,所以本文中难免有复制部分,不过,文化人的事,哪能叫抄呢?

1.安装 Anaconda

1.1.为什么

  1. Anaconda方便管理环境。
    这里要提到PyCharm,PyCharm对每一个新建项目,都会为他创建一个虚拟环境,并放在对应项目中,具体到文件存储就是项目文件中的“venv(virtual environment)”。这样做的好处是,我把整个项目给到别人时就不用再配置环境了,相应的、整个项目文件的大小会大很多。
    当我了解到这些时,我发现以我现在的代码量并不需要很多的环境,而且环境多了占据存储、每次打开或者新建都要等待些许时间,相比之下,我还是觉得用 VS Code 更好一些。用了 VS Code 之后,项目大小就是代码的大小了,显的更精简。
    当使用 VS Code 编写代码时,使用Anaconda管理环境是比较方便的,毕竟代码总是需要编译器的。
  2. 安装 Anaconda 自动安装 Python 以及一些常用包。
  3. Anaconda 有一个 Jupyter,可以在网页上写 Python,并且可以执行代码的一部分,适合学习 Python 相关知识,但我用的很少,还不太熟。

1.2.步骤

  1. 官网下载安装包:https://www.anaconda.com/download/
  2. 翻到最下面,选择系统和位数,点击下载:
    在这里插入图片描述
  3. 一直 next,直到下图。just me 是指当前用户;All Users 是指所有用户。如果你不懂在说什么,那 just me 就好了。一般情况下,也是 just me 即可。在这里插入图片描述
  4. 一直 next,然后自定义安装位置,再往后有下图。(点击窗口,alt+截图键;在博客编辑区,ctrl+v)
    记得把第一个打上勾(截图时还没√),这是配置环境变量,之后 install(完了,多装了一版,为什么没有取消键)
    在这里插入图片描述

2.创建环境

2.1.命令行

在Windows系统的开始界面,找到 Anaconda Prompt 窗口,这个窗口用来管理Anaconda,使用 conda 命令。

2.2.conda 常用命令

  1. conda list 查看安装了哪些包。
  2. conda env list 或 conda info -e 查看当前存在哪些虚拟环境
  3. conda update conda 检查更新当前conda
  4. conda --version 查询conda版本
  5. conda -h 查询conda的命令使用

2.3.虚拟环境相关命令

  1. 创建python虚拟环境
    命令: conda create -n your_env_name python=X.X
    结果: 创建python版本为X.X、名字为your_env_name的虚拟环境,虚拟环境可以在Anaconda的安装目录envs文件下找到
    注意1: 默认情况下只安装了一些必须的包,并不会像安装anaconda时那样自动安装很多常用的包。若要实现上面的功能,则须在末尾加上“anaconda”,完整命令是:conda create -n your_env_name python=X.X anaconda
    注意2: 若不指定python版本,自动安装最新版本。
    注意3: 从前面可以知道,我们安装anaconda时,自动安装了python3.8,但是在创建虚拟环境时,可以要求python版本为3.7或者其他,在创建环境时,会重新安装一个版本的python以及一些必要的包。如下图,打完命令之后,会出现一大堆东西,然后问你“y/n”,选 yes 开始安装和下载一些东西。
    在这里插入图片描述
    注意4: 在安装时,会发现下载很慢,那是因为没有配置国内源,按Ctrl+c终止安装,进行配置,配置步骤见8。

  2. 创建带包的虚拟环境(在后面加上包的名字即可)

    命令:conda create --name your_env_name package_name_1 package_name_2 …conda create --name your_env_name python=X.X package_name_1 package_name_2 …

  3. 进入环境

    命令:activate your_env_nameconda activate your_env_name

    结果: 可以在具体环境里安装所需要的包

  4. 退出虚拟环境

    命令:conda deactivate env_name

  5. 复制某个环境

    命令:conda create --name new_env_name --clone old_env_name

  6. 删除虚拟环境

    命令:conda remove --name your_env_name --all

  7. 虚拟环境——外部包

    查看:conda search package_name

    安装:conda install -n your_env_name package_name

    conda install package_name

    conda install package_name=X.X.X(x.x.x代表版本)

    更新:conda update package_name

    删除:conda remove package_name

  8. 配置国内源

    在创建虚拟环境或者安装某些包的时候,会发现下载的很慢,这时候需要配置国内源,也就是文件在国内的副本,这样下载会快很多,一般会配置清华镜像源,当然也有其他源,只是这里我配置的是清华源。

    配置清华源的命令不止一种,其他的不清楚,在这里,由于我使用anaconda管理环境,所以使用了conda命令,以下是我从其他博客参考的anaconda配置清华源的步骤。

    步骤1: 进入创建的环境(在base环境也是可以的,base环境就是安装anaconda之后自带的环境)

    步骤2: 在环境里运行如下代码:

    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 --set show_channel_urls yes
    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 config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
    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/peterjc123/
    

    步骤3:完成之后,在C盘中,找到用户里的用户名文件夹(文件夹名称是用户名称),在里面找到**.condarc**文件,用记事本打开,把里面的https改为http,并且删掉-default,保存。

    步骤4: 就是安装了,或者这时候再去创建个环境,看看是不是还这么慢。

2.4.本步操作

  1. 配置清华源。步骤如上,配置一次之后,会在C盘用户文件夹下改变.condarc文件的内容,所以如果可以的话,直接把那个文件复制替换,应该就直接成功了,而且成功一次之后,不需要再配置,因为配置的变化就是那个文件的内容改变了。
  2. 创建一个虚拟环境。

3.安装 VS Code

为节省时间,只列出步骤,具体内容网上有很多。

3.1.官网下载

  1. 地址:https://code.visualstudio.com/

  2. 参数:User Installer(单用户安装)

3.2.自定义安装

在这里插入图片描述

  1. 将“通过code打开”操作添加到Windows资源管理器文件上下文菜单:文件右击,会出现“通过vscode打开”选项
  2. 将“通过code打开”操作添加到Windows资源管理器目录上下文菜单:文件夹右击,会出现“通过vscode打开”选项
  3. 添加到PATH:必勾,若没勾,建议重装

3.3.汉化

3.4.安装python扩展

写个python文件,会自动提示安装

3.4.问题及笔记

  1. 在VSCode左下角,可以选择python的虚拟环境,一开始是base环境,将它改成你创建的环境。(最好不要动base环境,我怀疑新创建的环境会借助base环境,但也不确定,总之就别动了)

  2. 在后来安装pytorch时,经常发现安装有问题。一开始我发现在VSCode命令行中,命令行的左端没有(base)或者(your_env_name),正常情况下,在进入到虚拟环境后,左端是会出现 (环境名称)+当前所在路径。但是我反复操作进入环境命令,始终没有变化,作为新手我有些不自信了。

    之后一番操作无用,我发现左端不是 (环境名称)+当前路径,而是PS+当前路径,然后百度一番,发现PS好像是另一种控制台,名为powershell,于是我在VSCode里把它改成cmd之后,一切顺利。(新安装的VSCode似乎初始默认PS,因为powershell位于第一个)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    经过重复测试,关于本笔记的纠正:

    我在另一台电脑重新走一遍,VSCode确实默认powershell,但当我写了一句python之后,直接运行出了结果,并且终端类别由powershell变成了python。但是命令行左端并没有 (环境名称)+当前路径

    我疑惑,在VSCode的左下角选择新创建的虚拟环境(默认是base环境),命令行左端依旧没有 (环境名称)+当前路径

    我在终端使用命令行进入新创建的环境,VSCode提示我没有安装(???一闪而过忘记了),我点了install,由于配置了清华源,迅速安装好了。值得一提,我在之前的电脑没有配置清华源时,VSCode总是时不时的提示我这个东西没安装,当时我点击install基本没反应,现在看来可能当时是因为没配置清华源,点了install之后下载速度过慢导致没有反应(怀疑)。

    在用命令进入虚拟环境之后,最左端终于有了 (环境名称)+当前路径,并且退出这个环境之后,依旧会显示 (base)+当前路径

    总结,当时遇到这个情况时,很复杂,没有配置清华源,命令进入环境没有反应(可能是因为上面说的???没安装好),安装总是莫名其妙停住,报错,后来真的是把powershell改成了cmd才成功。但是这次我使用命令进入环境,提示没有安装之后,很快就安装好了,所以这个问题似乎也不会再重现。

  3. 关于powershell和cmd,确实是有区别的,我将终端默认改成powershell之后,每次运行python文件都会在左端显示PS,这跟上次的错误,在后期的场景是一样的,改回cmd之后,一运行就会在左端显示(虚拟环境名)。所以以后,如果出现PS,就把终端默认改成cmd即可,否则…,否则我试了一下,普通的py文件还是能跑的,一些常用包也可以安装…(-_-!)我之前的问题到底在哪(-?-)

  4. VSCode 左下角选择环境变量,是以绝对路径的方式选择python编译器,而activate这种以命令进入虚拟环境的方式是以左端(环境名称)为优先的,括号里是哪个环境名,就优先用哪个编译器。但这两种在VSCode发生了矛盾,因为绝对路径不存在在环境变量里找python这一说,所以左端括号里的环境即使再优先,我是绝对路径,就没有你的份。

3.5.VSCode相关操作

当我写完这个文章,我已经熟练了在cmd里操作conda,所以有些操作,可以在VSCode的终端做,也可以在Windows终端做。重点是区分powershellcmd,以及VSCode的左下角选择环境终端命令行左端的括号指明的环境的区别。

当然,我写之前,是希望在VSCode终端,利用左下角选择环境,然后安装pytorch,借此避过conda进入环境的命令,现在看来似乎并不必要。但以后写代码也用得到VSCode。

4.安装 cuda和cudnn

如果电脑有GPU,那就安装cuda。如果没有GPU,跳过这一步。

4.1.确认cuda版本

  1. cuda:由英伟达推出的通用并行计算架构
  2. 进入pytorch官网:https://pytorch.org/,在官网可以看到各个参数,默认。
    在这里插入图片描述
  3. package选择conda,是因为我是用anaconda来管理环境。
  4. 最后一个参数CUDA是cuda可用的版本,需要注意,cuda不止这些版本,但只有这些版本可以在pytorch框架里使用。这里我选则了10.2。
  5. 最后一行的命令,是用来安装这个框架的命令。注意,在复制之后要把最后的 -c pytorch去掉,这个参数意味着要从conda官网下载安装,这会忽视掉配置好的清华源。(是否是从conda官网下载我不肯定,但我觉得很可能是,其实我是在conda官网和pytorch官网之间徘徊)(再一个,这个参数有这样的效果我也是听人说的,本人没有亲自测过,但之前没有删掉这个参数的时候,安装一直卡死,后来我重新配了一遍源,又删掉了这个参数,瞬间完成,正如你所看到的,我不能确定之前是源配错了,还是没有删掉这个,但我更倾向于之前是因为没有删掉这个参数)
  6. 注意,现在并不下载安装pytorch,而只是在这里看看cuda的版本。

4.2.下载cuda

  1. 首先你需要注册一个英伟达账号,就点开下面的网址吧,右上角有登录/注册,没有账号无法下载。

  2. 然后到这个网址去下载需要的cuda版本。

    cuda各版本官方下载地址:https://developer.nvidia.com/cuda-toolkit-archive(这个网址真的跟迷宫一样)
    在这里插入图片描述

  3. 找到对应版本,进去,选择参数。其中最后一个选择exe(local),表示在主机上用。

  4. 下载(包括补丁)

4.3.安装cuda

  1. 注意顺序,先装大包,后装补丁。

  2. 双击安装,随后弹出一个路径。注意这个路径不是安装路径,推测是一个缓存路径,因为这个文件夹是隐藏文件夹,并且默认位于用户的temp下,安装成功之后,这个文件夹下没有东西。所以这个路径就不要改了。
    在这里插入图片描述

  3. 安装过程,选项默认,需要打勾的就打勾。

4.4.测试安装是否成功

  1. 在C盘,找路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA,在这个路径下,存放的是各个版本的cuda,每一个版本对应一个文件夹。
  2. 找到安装的cuda,进入他的bin文件夹,复制路径,在win命令行中,进入这个文件夹。
  3. 运行指令nvcc -V,可以看到安装的cuda版本。如果正常,那就没问题了。但如果是“不是内部或外部命令…”,那意味着没装上。其实我在旧电脑上操作了一番,旧电脑的显卡很低,安装好之后打开那个bin文件夹,会发现根本就没什么文件,这也说明没装上。
  4. 有个问题,我新买的电脑显卡2060,旧的电脑显卡很低,但他们跟cuda10.2都不是匹配的,新电脑的比10.2版本要高,安装成功,旧电脑似乎根本无法承受。(当然这里面也有说法,我尚不清晰,大概就是什么型号的显卡能承受什么版本的cuda,但只要记住,显卡越高越好,高的兼容低的)

4.5.下载安装cudnn

  1. 同样需要英伟达账号。

  2. cudnn:为深度学习计算设计的软件库。

  3. 需要对应安装的cuda版本。

  4. 地址:https://developer.nvidia.com/rdp/cudnn-download (如果有调查,随便点点就行了)

  5. 选择版本,选择系统,下载。

  6. 解压,获得cuda文件夹,在里面又有3个文件夹“bin、include、lib”。

  7. 找到cuda安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\10.2(所安装版本),在里面找到“bin、include、lib”,把cudnn三个文件夹的内容,复制到cuda安装路径里。即可。

    4.6.验证是否可用

    1. 找到路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
    2. 在cmd控制台,进入这个文件夹。
    3. 运行bandwidthTest.exe,如果Result=PASS,则成功。同时可以看到GPU型号。
    4. 运行deviceQuery.exe,如果Result=PASS,则成功。
    5. 以上表示,cuda和cudnn安装成功。

5.安装 pytorch

5.1.检查是否有合适GPU

如果有,需要安装CUDA和CuDNN

5.2.安装CUDA+CuDNN

见标题4

5.3.安装pytorch

  1. 如果使用pip命令,那么在最下方的Run this Command:会有一个网址,去那里下载。(需要下载两个包,我没这样做,不赘述)
  2. 如果在Package里选择Conda,则在最下方的Run this Command:有一个命令,注意把最后的-c pytorch删掉,然后进入需要安装pytorch的虚拟环境,运行这个命令。

5.4.测试

  1. 创建.py文件

  2. 输入以下代码

    import torch
    print("{}".format(torch.__version__))  # 输出pytorch版本
    print("{}".format(torch.cuda.is_available()))  # 输出cuda是否可用,true为可用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值