下文简称Tensorflow为TF,PyTorch为PT。TF出自Google之手(2015年),而PT是来自Facebook AI的一个python package(2016)。两者皆是基于Python的深度学习开发平台。其中,TF较早于PT出现,且是最广为使用的平台。然而,近年来PT大有赶超之势。本文浅谈TF和PT的异同。首先,PT是Torch的Python再开发版。Torch本是就是一个基于Lua语言的更早的平台,但考虑到Lua的偏门性,FAIR的研究人员将其移植到了python之上,有此得名Py + Torch。相比之下,TF更适合production因为它更稳定;PT更适合research因为它更自由(flexibility and speed)。PyTorch自身就是一个python package written in Python,但是同时支持如C或C++的API;而TF是用C++和CUDA写成的,通过python API来支持python coding。Fun fact,PT可以看做和Numpy是同样级别的python library,它们均是python package,都有一个C backend。相比之下,PT有更棒的GPU加速,而且PT跟适合搭建DNN。但是,仅用Numpy也可以实现基础的machine learning algorithms。从这个角度讲,PT和NP是python-oriented,而TF的初衷并不是针对python,而是提供了python API而已。Both TF and PT operate on tensors and view any models as a directed acyclic graph (DAG).
Tensorflow和PyTorch的浅解
最新推荐文章于 2024-02-26 14:40:34 发布