美文网首页
PyTorch快餐教程(1) - 安装与编译

PyTorch快餐教程(1) - 安装与编译

作者: Jtag特工 | 来源:发表于2018-09-17 15:39 被阅读188次

PyTorch快餐教程(1) - 安装与编译

PyTorch是目前最火的深度学习框架之一,是Facebook在基于Lua的框架Torch的基础上改进,支持Python语言的框架。

与基于静态计算图的Tensorflow不同,PyTorch是基于动态计算图的。简单说来,就是Tensorflow用Python要先生成一个完整的计算图,然后创建Session去计算。而PyTorch将其融入到了Python调用PyTorch API的过程中,边运算,边更新计算图,边计算结果。
所以,Tensorflow的优势在于多语言的支持,反正接口语言只是生成计算图用嘛,所以Python,Java,C++,Go,Swift,JavaScript等语言都没问题,而且Tensorflow希望社区帮助扩展到更多的语言,比如C#, Haskell, Julia, Ruby, Rust和Scala。而PyTorch就要跟Python结合的更紧密一些,尤其是跟Python的科学计算库NumPy关系密切,甚至可以将PyTorch理解成可以运行在GPU上的NumPy.

PyTorch的安装

直接安装二进制包

通常情况下,可以通过

pip3 install torch torchvision

这个命令安装PyTorch

编译PyTorch

  1. 下载PyTorch源代码
    毫不意外地,PyTorch的源代码也是从github上下载。
    git clone --recursive https://github.com/pytorch/pytorch

  2. 下载子模块代码
    因为PyTorch是一个大型工程,引用了很多其他的模块。所以我们还要下载其他模块的代码,命令如下:
    git submodule update --init

  3. 编译安装
    Mac下编译安装命令如下:

MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python3 setup.py install

Linux下编译安装命令如下:

python setup.py install
  1. 一些问题的临时解决方案

注意:下面讲的不是官方正式步骤,是目前的torch版本和python 3.6情况下的特殊问题。新版本上可能已经没有此问题。

由于当前版本0.4.0与python 3.6的兼容性问题,我们还需要做一些权宜操作。
其实问题就是编译出来的so库的名字太长,以至于找不到,我们改下名就好。
Mac OS下的权宜操作:
cd /usr/local/lib/python3.6/site-packages/torch
cp _C.cpython-36m-darwin.so _C.so
cp _dl.cpython-36m-darwin.so _dl.so

Linux下的权宜操作:
cd /usr/lib64/python3.6/site-packages/torch
cp _C.cpython-36m-x86_64-linux-gnu.so _C.so
cp _dl.cpython-36m-x86_64-linux-gnu.so _dl.so

一切成功之后,我们可以通过pip3 list看下torch的版本号。目前发布的最新版是0.4.1,我现在编译的版本已经是0.5.0a0+bb15a08了。

相关文章

网友评论

      本文标题:PyTorch快餐教程(1) - 安装与编译

      本文链接:https://www.haomeiwen.com/subject/cjyubftx.html