深度学习环境搭建Anaconda+Pycharm+Pytorch的方法步骤

本文将详细介绍一下如何搭建深度学习所需要的实验环境.

这个框架分为以下六个模块

1A836731-F21A-26D6-2279-7A5810C0D66A.png

显卡

简单理解这个就是我们常说的GPU,显卡的功能是一个专门做矩阵运算的部件,用于显示方面的运算,现在神经网络中绝大操作都是对矩阵的运算,所以我们当然可以将显卡的矩阵运算功能应用起来,来提高计算速度.

驱动

通常指NVIDIA Driver,其实它就是一个驱动软件,而前面的显卡就是硬件

cuda

cuda是一个扩展包,能够使得使用GPU进行通用计算变得简单和优雅,它本质上是一套指令集,我们通过这个指令集来使用显卡的矩阵运算操作;

Q:如何查看显卡支持的cuda的最高版本?

A835054E-A337-B1A6-D41E-40C928BB0949.png

EA05C09E-3065-1019-21FC-87D790893619.png

anaconda
1. 下载安装

下载官网:https://www.anaconda.com

F0A05DF4-ED96-F938-B392-01A112B8349B.png

选择与系统位数对应的安装包下载即可。

50CBC701-67E8-C0A4-EC68-B3193C07CEA9.png

Anaconda占用空间较大,建议选择一个空闲的磁盘专门用来放Anaconda。

616A133A-510E-5C8B-BFDF-B6810C3FB52E.png

勾选添加环境变量

1C898790-49A2-4FDB-76B3-04F38BB561E3.png

2. 安装pytorch虚拟环境
  1. 创建一个虚拟环境:conda create -n torch(虚拟环境名) python = 3.7

04C51A04-F091-3D59-AFA9-7F1B3591143D.png

此步骤 若出现以下情况:

68A3DE54-6E44-C112-97DA-AE64AA0CBB40.png

解决方法:

在创建新的虚拟环境前先输入以下命令。

conda config --add channels conda-forge
conda config --set channel_priority strict
conda config --set channel_priority flexible

C857687A-4F01-EF9D-B8E1-4E9C0F2DBC0F.png

这个路径下存放的就是我们创建好的虚拟环境,torch文件夹下存放的就是我们在该环境下安装的一些包等等。

9C2D2C65-EC20-1329-AD41-A5F7DBBF2B5C.png

CD4E79F0-42BD-E2D9-4E55-F7116EACC866.png

  1. 激活并进入该环境:conda activate torch

激活环境前处于“大厅”位置(base),在激活torch环境后,我们可以看到已经进入了我们刚才新建的torch环境下(torch)。

04717BB5-1F7C-BBA4-5B49-DB8E86A75D30.png

  1. 查看该环境下装了哪些工具包:conda list

3665E015-3354-F559-1026-25CCD2BBF53B.png

  1. 下载pytorch:conda activate torch

下载官网:https://pytorch.org

进入pytorch官网选择对应的一些选项,在最后一行会生成与之相对应的代码行,复制到终端窗口执行即可。

37DD69D6-A974-8954-FD07-39398C64CD20.png

该命令行表示从pytorch下载前面四个工具包。

0A01A3CA-84DA-A0EE-AA9E-04A62B65D849.png

Q:如何解决下载速度过慢的问题?

由于这些网站的服务器都在国外,我们下载的话速度会非常慢,为了解决这个问题,国内有些大佬做了镜像网站,一段时间会专门去更新一次,所以换到镜像网站下载速度会大大提升。

清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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 --set show_channel_urls true

中科大源:
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

本次安装我们换清华源

A4DCDF65-EC05-18D5-A554-8FC2DFD61297.png

换源后查看一下是否换源成功,channels表示下载通道,其中的网址都是清华源的网址,说明换源成功。

E6555DD8-1D16-EFDF-F17B-C3A60ECBAFCF.png

换掉原本的下载指令,去掉后面的 -c pytorch,表示从当前的清华源下载。

6B04E609-5722-18B6-4FE6-C37E6120CFC2.png

以下我们的pytorch虚拟环境以及一些工具包已经装好了。

1DD252AF-37D3-AE88-6464-D52269FAA081.png

1EA47D3D-380D-831F-B418-160CB66B1700.png

  1. 退出当前虚拟环境,回到大厅:conda deactivate

A32BCAE7-2846-5679-6281-FD6CB6CA9A9A.png

  1. 查看当前anconda中都有哪些虚拟环境:conda info -e
  • 表示此时处于大厅位置。

    A2A8D64D-0B07-0E26-F6AF-1A6E7C32F08C.png

  1. 在pytorch环境下编写测试代码

首先进入pytorch虚拟环境

BC16579A-1A4F-5F87-EDE2-98EFF6EEEF02.png

输入命令行import torch,若出现以下标志,说明pytorch已经安装好。

E3438304-F9E6-5AE1-4799-AF20D587D673.png

3. conda常用指令
  • 创建一个虚拟环境
conda create -n torch[虚拟环境名]  python = 3.7
  • 激活并进入该环境
conda activate torch
  • 查看该环境下装了哪些工具包
conda list
  • 退出当前虚拟环境,回到大厅
conda deactivate
  • 查看当前anconda中都有哪些虚拟环境
conda info -e
  • 删掉该环境中的所有内容,并且销毁该环境
(base) conda remove -n torch --all
pycahrm / jupyter
下载安装
  1. 下载社区版的pycharm,修改安装路径为空闲磁盘。
  2. 没有什么需要特别注意的,直接下一步即可。A5A4AFEC-B8AD-6494-1B6A-7F47A23A26B2.png
如何建好的虚拟环境的解释器找出来指派给代码?

我们可以创建多个虚拟环境,比如tensorflow,pytorch等,在用不同的框架时通过下面的设置切换到不同的虚拟环境即可。也有人会把所有的框架等装到一个虚拟环境中,当然理论上也是可以的,只是不方便管理,而且同一个虚拟环境下是不允许安装同一个工具的不同版本,这就非常不利于我们后续的学习。

具体操作如下:

2C410C4E-191C-4D04-F19F-CD468BD67149.png

AA1B3943-3F97-2FA3-F97F-7FE2EACBF311.png

pycharm中运行以下代码测试,若出现以下结果,说明环境搭建完成。

如果下图第二行显示为false,有可能是电脑显卡不支持cuda,只需删除该虚拟环境,重新下载cpu版本的pytorch即可。

A0AF484E-436C-A562-E052-7653929D30EB.png

import torch

print(torch.__version__)
print(torch.cuda.is_available())

x = torch.randn(1)
if torch.cuda.is_available():
    device = torch.device("cuda")
    y = torch.ones_like(x, device=device)
    x = x.to(device)
    z = x + y
    print(z)
    print(z.to("cpu", torch.double))
收藏 (0)
评论列表
正在载入评论列表...
我是有底线的
为您推荐
    暂时没有数据