2.PyTorch环境的配置及安装
主要内容Windows系统下环境配置1.1 打开Anaconda Prompt1.2 确定硬件支持的CUDA版本1.3 确定pytorch版本,torchvision版本安装anaconda,参照之前链接显卡的作用主要起到训练加速的作用,打开任务管理器,点击性能中查看GPU,能够正常显示信号,显卡的驱动已经正确安装。如何管理环境?Windows系统下环境配置1.1 打开Anaconda Promp
零、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指令提供了解决方法,相当于创建不同的包。
有序地管理环境:
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 修改虚拟环境名称
四、安装依赖包
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的虚拟环境
更多推荐
所有评论(0)