Pytorch- 1.1 Pytorch 简介及安装(配置cuda-torch环境)

Pytorch 简介

Torch是什么?

  • Torch是一个与Numpy类似的张量(Tensor)操作库,与Numpy不同的是Torch对GPU支持的很好,Lua是Torch的上层包装.

  • PyTorch和Torch使用包含所有相同性能的C库:TH, THC, THNN, THCUNN,并且它们将继续共享这些库。其实PyTorch和Torch都使用的是相同的底层,只是使用了不同的上层包装语言。

  • PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。Uber的"Pyro"也是使用的这个库。

安装Pytorch

#默认 使用 cuda10.2
pip3 install torch===1.5.1 torchvision===0.6.1 -f https://download.pytorch.org/whl/torch_stable.html

#cuda 9.2
pip3 install torch==1.5.1+cu92 torchvision==0.6.1+cu92 -f https://download.pytorch.org/whl/torch_stable.html

#cpu版本
pip install torch==1.5.1+cpu torchvision==0.6.1+cpu -f https://download.pytorch.org/whl/torch_stable.html

验证

import torch
torch.__version__
# 得到结果'1.0.0'

配置cuda-torch环境保姆级教程

环境包:cuda版本的torch、torchvision

系统环境:win10 X64,anaconda

配置流程
  • 添加源路径
#打开Anaconda Prompt (终端界面)
#进入你想进入的环境
#进入base环境 / 你的其他建立的虚拟环境
conda activate base

#中科大源
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 --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 yes
# 设置成功后可以用以下指令查看是否添加成功
conda config --show channels
  • 创建虚拟环境
#查看当前所有的虚拟环境
conda env list


# 创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
conda create --name python34 python=3.4


# 进入base环境(可以进入你所建立的虚拟环境)
conda activate base
  • 安装torch、torchvision包

1.查看合适版本的torch包

# 选择合适的pytorch版本,用conda search pytorch查找当前路径所有pytorch的版本(包括默认源路径和添加源路径)
conda search pytorch
#以下是结果Loading channels: done
# Name                       Version           Build  Channel
pytorch                        1.0.1 cpu_py36h39a92a0_0  anaconda/pkgs/main
pytorch                        1.0.1 cpu_py36h39a92a0_0  pkgs/main
pytorch                        1.0.1 cpu_py37h39a92a0_0  anaconda/pkgs/main
pytorch                        1.0.1 cpu_py37h39a92a0_0  pkgs/main
pytorch                        1.3.1 cpu_py36h9f948e0_0  anaconda/pkgs/main
pytorch                        1.3.1 cpu_py36h9f948e0_0  pkgs/main
pytorch                        1.3.1 cpu_py37h9f948e0_0  anaconda/pkgs/main
pytorch                        1.3.1 cpu_py37h9f948e0_0  pkgs/main
pytorch                        1.4.0 cpu_py36ha775e86_0  anaconda/pkgs/main
pytorch                        1.4.0 cpu_py36ha775e86_0  pkgs/main
pytorch                        1.4.0 cpu_py37ha775e86_0  anaconda/pkgs/main
pytorch                        1.4.0 cpu_py37ha775e86_0  pkgs/main
pytorch                        1.4.0 cpu_py38ha775e86_0  anaconda/pkgs/main
pytorch                        1.4.0 cpu_py38ha775e86_0  pkgs/main
pytorch                        1.5.0 cpu_py37h9f948e0_0  anaconda/pkgs/main
pytorch                        1.5.0 cpu_py37h9f948e0_0  pkgs/main
pytorch                        1.6.0 cpu_py37h538a6d7_0  anaconda/pkgs/main
pytorch                        1.6.0 cpu_py37h538a6d7_0  pkgs/main
pytorch                        1.6.0 cpu_py38h538a6d7_0  anaconda/pkgs/main
pytorch                        1.6.0 cpu_py38h538a6d7_0  pkgs/main
# 显然在当前路径下没有cuda版本的pytorch,这里我们再添加一个pytorch的源路径
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
#这时候你再输入conda search pytorch就会有很多个版本的pytorch了,下面列举部分版本
pytorch                        1.4.0 py3.7_cuda92_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.4.0     py3.8_cpu_0  anaconda/cloud/pytorch
pytorch                        1.4.0 py3.8_cuda101_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.4.0 py3.8_cuda92_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 cpu_py37h9f948e0_0  anaconda/pkgs/main
pytorch                        1.5.0 cpu_py37h9f948e0_0  pkgs/main
pytorch                        1.5.0     py3.5_cpu_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.5_cuda101_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.5_cuda102_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.5_cuda92_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0     py3.6_cpu_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.6_cuda101_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.6_cuda102_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.6_cuda92_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0     py3.7_cpu_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.7_cuda101_cudnn7_0  anaconda/cloud/pytorch
pytorch                        1.5.0 py3.7_cuda102_cudnn7_0  anaconda/cloud/pytorch
#可以观察,pytorch版本的不同是对应不同的python和cudatoolkit版本
#我们环境的python版本为3.7.1,同时选择cuda为9.2的pytorch
pytorch                        1.4.0 py3.7_cuda92_cudnn7_0  anaconda/cloud/pytorch

3.2安装cuda版本的pytorch、torchvision

# 进入pytorch官网 https://pytorch.org/
# 根据系统类型、cuda or cpu以及一些版本,生成conda install 指令
#conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
#这里 -c 是表示从默认源下载,速度会很慢的,所以这里要删掉,从我们指定的镜像源下载
#指定pytorch1.4.0以及cudatoolkit9.2版本,因此输入以下指令
conda install pytorch torchvision cudatoolkit=9.2 pytorch==1.4.0
#安装完成之后用conda list 查看虚拟环境下安装的包
conda list

3.3验证是否安装成功

import torch
import numpy
import torchvision

3.4问题总结

1、pip、conda的区别
1)一般来说如果用conda安装不了的,你可以用pip下载,pip默认从官方源下载,速度比较慢,除非你用-i指定下载源

2)相比于pip,conda安装不仅安装指定的包,比如你用conda 安装pytorch,conda安装同时还会安装pytorch所需要支持的各种包。

3)与2)一样,用conda卸载除了卸载指定的包,相应的支持包也会一起被卸载。加入我们需要降级下载一个低版本的numpy,这时候应先用pip uninstall numpy 卸载当前环境下的numpy,再用conda install numpy==1.14.0 去安装低版本的numpy

补充

CUDA版本
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.82.00    Driver Version: 470.82.00    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:02:00.0 Off |                  N/A |
| 54%   43C    P2   109W / 350W |   8061MiB / 24268MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1288      G   /usr/lib/xorg/Xorg                  4MiB |
|    0   N/A  N/A     12072      C   python                           8053MiB |
+-----------------------------------------------------------------------------+
安装对应的cudatoolkit和pytorchpython=3.6conda install cudatoolkit=11.1 cudnn
pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.douban.com/simple/

参考知乎链接:https://zhuanlan.zhihu.com/p/265980568

你可能感兴趣的:(Pytorch框架,pytorch,迁移学习,深度学习)