零、More about Pytorch

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

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

一、Windows系统下环境配置

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

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

1.1 打开Anaconda Prompt

如何管理环境?今后在不同的项目中环境可能不同,conda指令提供了解决方法,相当于创建不同的包。
有序地管理环境:
在这里插入图片描述

在这里插入图片描述

1、conda create -n pytorch python=3.7.0:创建名为pytorch的虚拟环境,并为该环境安装python=3.7。
2、activate pytorch:激活名为pytorch的环境
在这里插入图片描述
pip list查看是否有pytorch,目前无。
在这里插入图片描述

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

1.2 确定硬件支持的CUDA版本

NVIDIA控制面板-帮助-系统信息-组件
在这里插入图片描述
在命令行输入nvidia-smi
在这里插入图片描述
英伟达(NVIDIA)显卡、驱动版本与cuda版本对应关系

1.3 确定pytorch版本,torchvision版本

进入pytorch官网:https://pytorch.org/
在这里插入图片描述
选择好版本之后,在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/
在这里插入图片描述
在这里插入图片描述

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
在这里插入图片描述
然后回到虚拟环境所在目录,用conda install anaconda安装环境所需的基础包。
在这里插入图片描述

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

在这里插入图片描述
补充: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遇到的问题

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

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

Pycharm
2.1首先安装Pycharm

可以参考链接

2.2创建一个新的项目。

在这里插入图片描述
1.选择项目的位置。
在这里插入图片描述
2.以下这张图是我之前的环境,点击方框中框住的部分,选择环境。
在这里插入图片描述
3.选择conda环境。
在这里插入图片描述
4.可以看到环境已经改变,点击完成。
在这里插入图片描述
5.检测是否可以成功运行,pycharm是否成功导入了conda的环境。
在这里插入图片描述
运行import torch成功,说明pytorch的一些包已经成功导入了。
在Linux上的Pycharm添加已有的虚拟环境,如下图所示。
在这里插入图片描述

Jupyter

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

2.3运行Jupyter

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

在这里插入图片描述
5.测试代码如下:
在这里插入图片描述

三、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

在这里插入图片描述

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.项目创建在虚拟环境中,导出依赖

pip freeze > requirements.txt

通过以上命令导出的环境如下
在这里插入图片描述
将命令换成

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的虚拟环境

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐