Pytorch介绍与linux、windows环境下安装

1. PyTorch简介

       在2017年1月18日,facebook下的Torch7团队宣布PyTorch开源后就引来了剧烈的反响。PyTorch 是 Torch 在 Python 上的衍生版本。Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 流行度不够, 所以facebook开发团队将 Lua 的 Torch 移植到了更流行的语言 Python 上,推出了PyTorch 。

       PyTorch是一个Python优先的深度学习框架,是一个和tensorflow,Caffe,MXnet一样,非常底层的框架。先说下PyTorch相比于Tensorflow的三大优势:

1.1 Python优先支持

       PyTorch主推的特性之一,就是支持Python(官方的提法:puts Python first)。因为直接构建自 Python C API,PyTorch从细粒度上直接支持python的访问。相比于原生Python实现,引入的新概念很少,这不仅降低了 Python 用户理解的门槛,也能保证代码基本跟原生的 Python 实现一致。事实上,开发者可以直接用原生 Python 代码扩展 PyTorch 的 operation。

       而Tensorflow总有一种用 Python 调用 C++ 写的第三方动态链接库的感觉;写模型需要更多代码,无法贯彻 Python的简约风格;而且写新的 operation 必须用 C++ 开发。

1.2 动态图的良好支持

      Tensorflow运行必须提前建好静态计算图,然后通过feed和run重复执行建好的图。但是Pytorch却不需要这么麻烦:PyTorch的程序可以在执行时动态构建/调整计算图。相对来说,pytorch具有更好的灵活性。这得益于PyTorch直接基于 Python C API 构建的 Python 接口。

       TensorFlow饱受诟病的痛点就是只支持静态图模型。也就是说,在处理数据前必须预先定义好一个完整的模型。如果数据非常规整,那还好。但实际工程和研究项目中的数据,难免有一些边角的情况。很多项目,其实需要大量实验才能选择正确的图模型。这就很痛苦了。因此,很多项目转而采用了PyTorch等支持动态图模型的框架,以便在运行程序的时候动态修正模型。

       不过在2017年10月31日万圣节这天,Google发布了TensorFlow Eager Execution(贪婪执行),为TensorFlow添加了命令式编程的接口。启用贪婪执行后,TensorFlow操作会立刻执行,不用通过Session.run()执行一个预先定义的图。2017年11月,TensorFlow1.5版本中正式加入了动态图机制Eager Execution的支持!

1.3 易于Debug
       Pytorch在运行时可以生成动态图,开发者就可以在堆栈跟踪中看到哪一行代码导致了错误。你甚至可以在调试器中停掉解释器并看看某个层会产生什么。
1.4 pytorch官网

https://pytorch.org/get-started/previous-versions/

Pytorch介绍与linux、windows环境下安装_第1张图片

2.linux、windows环境下安装

2.1 pytorch v1.1.0在不同cuda版本下安装

Conda命令安装:Linux and Windows

如果已经装了Ananconda|Python,选择对应的pytorch与 torchvision版本,然后直接执行下面:

# CUDA 9.0
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=9.0 -c pytorch

# CUDA 10.0
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch

# CPU Only
conda install pytorch-cpu==1.1.0 torchvision-cpu==0.3.0 cpuonly -c pytorch

pip命令安装:Linux and Windows

pip install torch==1.1.0 torchvision==0.3.0

 2.2 pytorch v1.2.0在不同cuda版本下安装

conda安装:Linux and Windows

# CUDA 9.2
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

# CPU Only
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch

pip安装:Linux and Windows​​​​​​​

# CUDA 10.0
pip install torch==1.2.0 torchvision==0.4.0 -f https://download.pytorch.org/whl/torch_stable.html

# CUDA 9.2
pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html

# CPU only
pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

 3.下载的时候可能会遇到无尽的等待:添加清华源

3.1 当使用conda安装的时候,可能会遇到下载过慢的问题

这里推荐用清华源替代默认conda源的方法,可以解决下载过慢的问题。

清华conda源地址:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

3.2 添加清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes

3.3 命令安装

根据Python和CUDA选择对应的版本,然后官方给出提示可通过运行:

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit==9.0 -c pytorch

但是这里一定要注意,去掉-c pytorch,安装的时候才会默认从清华源下载相应的包,因此这里用命令行:

conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit==9.0 -c pytorch

参考致谢:

https://blog.csdn.net/xiangxianghehe/article/details/86300773

https://blog.csdn.net/watermelon1123/article/details/88122020

你可能感兴趣的:(Pytorch,深度学习环境安装)