2.PyTorch环境的配置及安装

主要内容

      • 零、More about Pytorch
      • 一、Windows系统下环境配置
        • 1.1 打开Anaconda Prompt
        • 1.2 确定硬件支持的CUDA版本
        • 1.3 确定pytorch版本,torchvision版本
        • 1.4 镜像中下载对应的安装包
        • 1.5 本地安装
        • 1.6 测试
        • 1.7遇到的问题
      • 二、Python编辑器的选择、安装及配置(Pycharm、Jupyter)
        • Pycharm
        • 2.1首先安装Pycharm
        • 2.2创建一个新的项目。
        • Jupyter
        • 2.3运行Jupyter
      • 三、conda常用命令
        • 3.1查看conda的版本
        • 3.2环境管理
          • 3.2.1查看环境管理的全部命令帮助
        • 3.3分享环境
        • 3.4进入base环境及退出
        • 3.5列举当前所有的环境
        • 3.6 复制Conda的虚拟环境
        • 3.7 修改虚拟环境名称
      • 四、安装依赖包

零、More about Pytorch

从细微的层面来看,PyTorch是一个由以下部分组成的库:
At a granular level, PyTorch is a library that consists of the following components:

Component Description
torch a Tensor library like NumPy, with strong GPU support
torch.autograd a tape-based automatic differentiation library that supports all differentiable Tensor operations in torch
torch.jit a compilation stack (TorchScript) to create serializable and optimizable models from PyTorch code
torch.nn a neural networks library deeply integrated with autograd designed for maximum flexibility
torch.multiprocessing Python multiprocessing, but with magical memory sharing of torch Tensors across processes. Useful for data loading and Hogwild training
torch.utils DataLoader and other utility functions for convenience

一、Windows系统下环境配置

首先安装anaconda,参照之前链接。

显卡的作用主要起到训练加速的作用,打开任务管理器,点击性能中查看GPU,能够正常显示信号,显卡的驱动已经正确安装。

1.1 打开Anaconda Prompt

如何管理环境?今后在不同的项目中环境可能不同,conda指令提供了解决方法,相当于创建不同的包。
有序地管理环境:
2.PyTorch环境的配置及安装_第1张图片

2.PyTorch环境的配置及安装_第2张图片

1、conda create -n pytorch python=3.7.0:创建名为pytorch的虚拟环境,并为该环境安装python=3.7。
2、activate pytorch:激活名为pytorch的环境
2.PyTorch环境的配置及安装_第3张图片
pip list查看是否有pytorch,目前无。
2.PyTorch环境的配置及安装_第4张图片

可能遇到的问题:Conda - Downloaded bytes did not match Content-Length 问题解决方案

1.2 确定硬件支持的CUDA版本

NVIDIA控制面板-帮助-系统信息-组件
2.PyTorch环境的配置及安装_第5张图片
在命令行输入nvidia-smi
2.PyTorch环境的配置及安装_第6张图片
英伟达(NVIDIA)显卡、驱动版本与cuda版本对应关系

1.3 确定pytorch版本,torchvision版本

进入pytorch官网:https://pytorch.org/
2.PyTorch环境的配置及安装_第7张图片
选择好版本之后,在pytorch环境下可以直接运行conda install pytorch torchvision cudatoolkit=10.2 -c pytorch,接着输入y等待下载。下载完成之后可以直接跳到1.6进行测试。
因为官方源太慢了,这里使用清华源下载。

1.4 镜像中下载对应的安装包

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
2.PyTorch环境的配置及安装_第8张图片
2.PyTorch环境的配置及安装_第9张图片

1.5 本地安装

接着第一步,在pytorch环境下进行安装,依次输入如下指令。在刚刚下载好的文件夹下进行。
conda install --offline pytorch-1.6.0-py3.7_cuda102_cudnn7_0.tar.bz2
conda install --offline torchvision-0.7.0-py37_cu102.tar.bz2
2.PyTorch环境的配置及安装_第10张图片
然后回到虚拟环境所在目录,用conda install anaconda安装环境所需的基础包。
2.PyTorch环境的配置及安装_第11张图片

1.6 测试

 import torch
 torch.cuda.is_available()
 # 结果为true,则成功

2.PyTorch环境的配置及安装_第12张图片
补充:pytorch下验证是否安装了cuda和cuDNN,进行到pytorch环境中,输入以下代码,若返回结果为True,则已经安装。

#判断是否安装了cuda
import torch
print(torch.cuda.is_available())  #返回True则说明已经安装了cuda
#判断是否安装了cuDNN
from torch.backends import  cudnn 
print(cudnn.is_available())  #返回True则说明已经安装了cuDNN

若输出结果是

1.7遇到的问题

2.PyTorch环境的配置及安装_第13张图片
1.安装结束之后,测试时如果出现上面的问题,Microsoft Visual C++ Redistributable is not installed,点击此处链接进行下载安装,即图片中提示的链接。
2.如果要配置源可以参考这里:安装环境
参考链接:PyTorch环境配置及安装

二、Python编辑器的选择、安装及配置(Pycharm、Jupyter)

Pycharm

2.1首先安装Pycharm

可以参考链接。

2.2创建一个新的项目。

2.PyTorch环境的配置及安装_第14张图片
1.选择项目的位置。
2.PyTorch环境的配置及安装_第15张图片
2.以下这张图是我之前的环境,点击方框中框住的部分,选择环境。
2.PyTorch环境的配置及安装_第16张图片
3.选择conda环境。
2.PyTorch环境的配置及安装_第17张图片
4.可以看到环境已经改变,点击完成。
2.PyTorch环境的配置及安装_第18张图片
5.检测是否可以成功运行,pycharm是否成功导入了conda的环境。
2.PyTorch环境的配置及安装_第19张图片
运行import torch成功,说明pytorch的一些包已经成功导入了。

Jupyter

安装完Anaconda之后,Jupyter就安装了。Jupyter只默认安装在bash环境当中。pytorch环境中并没有安装Jupyter,两种解决方式:(1)在bash环境当中安装pytorch,(2)在pytorch环境中安装Jupyter,选择第二种方式。

2.3运行Jupyter

1.查看bash环境中的包
2.PyTorch环境的配置及安装_第20张图片
2.PyTorch环境的配置及安装_第21张图片
启动jupyter主要使用ipykernel。
2.输入conda activate pytorch,进入pytorch环境。
使用conda list查看是否有刚才的包,发现没有。
3.用conda install nb_conda进行安装。
安装之后出现如下问题,其实不用解决发现可以直接继续之后jupyter的运行,解决一下防止之后每次运行都要弹出,解决方案:删去该路径D:\F\Anaconda3\envs\pytorch\Library\bin下的pythoncom37.dll文件。参考解决方案2.PyTorch环境的配置及安装_第22张图片
4.输入jupyter notebook,跳转到jupyter notebook,然后新建时选择conda pytorch环境,可以进行测验。在这里插入图片描述

2.PyTorch环境的配置及安装_第23张图片
5.测试代码如下:
2.PyTorch环境的配置及安装_第24张图片

三、conda常用命令

conda是在Windows、macOS和Linux上运行的开源软件包管理系统和环境管理系统。Conda可以快速安装、运行和更新软件包及其依赖项。

3.1查看conda的版本

conda --version

3.2环境管理

3.2.1查看环境管理的全部命令帮助
conda env -h
conda remove -n xxxx --all   //删除xxxx虚拟环境

3.3分享环境

如果你想把自己当前的环境配置与别人分享,这样别人ta可以快速建立一个与你一模一样的环境(同一个版本的python及各种包)来共同开发/进行新的实验。一个分享环境的快速方法就是给ta一个你的环境的.yml文件。

首先通过activate target_env(进入某个环境)要分享的环境target_env,然后输入下面的命令会在当前工作目录下生成一个environment.yml文件,

conda env export > environment.yml

小伙伴拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境

conda env create -f environment.yml

3.4进入base环境及退出

conda activate (base)	# 进入base环境
conda deactivate		# 退出base环境回到系统自带的环境

Ubuntu系统,每次启动自动激活conda的基础环境,如何退出呢?

# 方法一:
conda deactivate	# 退出base环境回到系统自带的环境
# 方法二:
# 通过将auto_activate_base参数设置为false实现:
conda config --set auto_activate_base false
# 如果要进入的话通过
conda activate base
# 如果希望base一直留着的话,通过
conda config --set auto_activate_base true

3.5列举当前所有的环境

conda env list

2.PyTorch环境的配置及安装_第25张图片

3.6 复制Conda的虚拟环境

conda create -n conda-env2 --clone conda-env1

这里conda-env2是新创建的conda环境,conda-env1是被复制的conda环境,复制完成后,两个环境的Python配置是完成相同的。

3.7 修改虚拟环境名称

Conda:1秒钟修改虚拟环境名称

四、安装依赖包

1.执行命令:pip install -r requirements.txt ,就可以安装所有依赖包了
2.PyTorch环境的配置及安装_第26张图片
2.项目创建在虚拟环境中,导出依赖

pip freeze > requirements.txt

通过以上命令导出的环境如下
2.PyTorch环境的配置及安装_第27张图片
将命令换成

pip list --format=freeze > requirements.txt

在当前路径下生成一个txt文件。
深度学习创建环境方法(包括, conda创建, virtualenv创建, docker创建)
在这里插入图片描述
通过以上命令在这个目录下面生成了environment.yaml文件,其内容如下:

name: yolox
channels:
  - pytorch
  - https://repo.anaconda.com/pkgs/main
  - defaults
dependencies:
  - blas=1.0=mkl
  - certifi=2021.10.8=py37haa95532_0
  - cudatoolkit=11.3.1=h59b6b97_2
  - freetype=2.10.4=hd328e21_0
  - intel-openmp=2021.4.0=haa95532_3556
  - jpeg=9d=h2bbff1b_0
  - libpng=1.6.37=h2a8f88b_0
  - libtiff=4.2.0=hd0e1b90_0
  - libuv=1.40.0=he774522_0
  - libwebp=1.2.0=h2bbff1b_0
  - lz4-c=1.9.3=h2bbff1b_1
  - mkl=2021.4.0=haa95532_640
  - mkl-service=2.4.0=py37h2bbff1b_0
  - mkl_fft=1.3.1=py37h277e83a_0
  - mkl_random=1.2.2=py37hf11a4ad_0
  - olefile=0.46=py37_0
  - pillow=8.4.0=py37hd45dc43_0
  - pip=21.2.4=py37haa95532_0
  - python=3.7.0=hea74fb7_0
  - pytorch=1.10.0=py3.7_cuda11.3_cudnn8_0
  - pytorch-mutex=1.0=cuda
  - setuptools=58.0.4=py37haa95532_0
  - six=1.16.0=pyhd3eb1b0_0
  - tk=8.6.11=h2bbff1b_0
  - torchaudio=0.10.0=py37_cu113
  - torchvision=0.11.1=py37_cu113
  - typing_extensions=3.10.0.2=pyh06a4308_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wincertstore=0.2=py37haa95532_2
  - xz=5.2.5=h62dcd97_0
  - zlib=1.2.11=h62dcd97_4
  - zstd=1.4.9=h19a0ad4_0
  - pip:
    - absl-py==1.0.0
    - addict==2.4.0
    - anyconfig==0.13.0
    - cachetools==4.2.4
    - charset-normalizer==2.0.9
    - colorama==0.4.4
    - cycler==0.11.0
    - flatbuffers==2.0
    - fonttools==4.28.3
    - future==0.18.2
    - google-auth==1.35.0
    - google-auth-oauthlib==0.4.6
    - grpcio==1.42.0
    - idna==3.3
    - imageio==2.13.2
    - imgaug==0.4.0
    - importlib-metadata==4.8.2
    - joblib==1.1.0
    - jsonpatch==1.32
    - jsonpointer==2.2
    - kiwisolver==1.3.2
    - llvmlite==0.35.0
    - loguru==0.6.0
    - markdown==3.3.6
    - matplotlib==3.5.0
    - natsort==8.1.0
    - networkx==2.6.3
    - ninja==1.10.2.3
    - numba==0.52.0
    - numpy==1.18.1
    - oauthlib==3.1.1
    - onnx==1.8.1
    - onnx-simplifier==0.3.5
    - onnxoptimizer==0.2.7
    - onnxruntime==1.8.0
    - opencv-python==4.5.5.64
    - packaging==21.3
    - pandas==1.1.3
    - polygon3==3.0.9.1
    - protobuf==3.19.1
    - pyasn1==0.4.8
    - pyasn1-modules==0.2.8
    - pyclipper==1.3.0.post2
    - pycocotools==2.0.4
    - pyparsing==3.0.6
    - python-dateutil==2.8.2
    - pytz==2021.3
    - pywavelets==1.2.0
    - pywin32==304
    - pyyaml==6.0
    - pyzmq==22.3.0
    - requests==2.26.0
    - requests-oauthlib==1.3.0
    - rsa==4.8
    - scikit-image==0.18.1
    - scikit-learn==0.23.2
    - scipy==1.5.3
    - seaborn==0.11.2
    - setuptools-scm==6.3.2
    - shapely==1.8.2
    - tabulate==0.8.9
    - tensorboard==2.3.0
    - tensorboard-plugin-wit==1.7.0
    - thop==0.0.31-2005241907
    - threadpoolctl==3.0.0
    - tifffile==2021.11.2
    - tomli==1.2.2
    - torchfile==0.1.0
    - torchinfo==1.6.3
    - torchnet==0.0.4
    - tornado==6.1
    - tqdm==4.54.0
    - urllib3==1.26.7
    - visdom==0.1.8.9
    - websocket-client==1.3.1
    - werkzeug==2.0.2
    - wheel==0.37.1
    - win32-setctime==1.1.0
    - zipp==3.6.0
prefix: D:\F\Anaconda3\envs\yolox

第一行和最后一行指的是虚拟环境的名字。
你会Conda 环境复制(导入导出)嘛?
参考链接:conda常用命令整理
Anaconda——复制Conda的虚拟环境

你可能感兴趣的:(软件安装,pytorch,深度学习,python)