Torch是一个与Numpy类似的张量(Tensor)操作库,与Numpy不同的是Torch对GPU支持的很好,Lua是Torch的上层包装.
PyTorch和Torch使用包含所有相同性能的C库:TH, THC, THNN, THCUNN,并且它们将继续共享这些库。其实PyTorch和Torch都使用的是相同的底层,只是使用了不同的上层包装语言。
PyTorch是一个基于Torch的Python开源机器学习库,用于自然语言处理等应用程序。 它主要由Facebook的人工智能研究小组开发。Uber的"Pyro"也是使用的这个库。
#默认 使用 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'
#打开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
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