一直使用pytorch,在工程产品部署上效率一直不高,2.0在易用性上是否会达到pytorch的水平?


你原本是 tf boys的话, 当然值得跟进, 你本来就是 pytorch的话, 有遇到什么不能解决的问题而正好TF能解决, 还是别人源代码都TF写的, 又或是你真觉得 PYTORCH在部署上效率不高,而你又经常要部署? 不然真不用跟进TF。

我试过 tf 1.12/1.10 的 eager 模式, 比原本的 static 模式简单不要太多, 确实比较接近 pytorch 了, 封装后的keras 更抽象, 确实比 PyTorch 更简单, 一个 compile/fit 就行, 而PyTorch 没封装到这一层。

我写了几个notebook, 在图像分类问题上, PyTorch/TF 获取相同输入、生成相同模型和权重参数、 能得到非常相似的输出和分类结果 sndnyang/DeepLearningCMP DeepLearningFrameworks Compare

但 tf 2.0 还是体验版, 可能还存在更多的BUG, 我上周就提交了一个 tf batch normalization 的BUG


TF 2.0 还是 Pytorch 1.0 呢?科研工程怎么办?我选择MXNet

LOL.


值得更进。

首先tf2.0算是一次彻头彻尾的自我否定和改革了。摒弃了以前的很多窠臼。迎来的肯定是易用性。

仔细看devmit2019你会发现,tf2.0著重强调了api的可持续性,因此可以遇见未来基于tf2.0开发的模型不会有太大的变化,更重要的是统一化了层的编写方法。以前的什么slim,tflearn,keras,tflayers真的令人头大,现在官方统一化了。不会再百花齐放了,不是说百花齐放不好,而是没有意义,实现都一样只是改了一个namespace有意义吗?

说到部署,我预计未来可能会出现一个libtf,现在c++介面太难用了。你别看pytorch有libtorch,那个效率是真的低。

除此之外你还可以选择swift for tf,据说可以seemless地导入python代码。

至于嵌入式,tflite always promising

最后,在广告里面插播一条重点内容:

国内最大的AI交流社区上线了,欢迎大家来讨论交流,提问

奇点AI社区?

talk.strangeai.pro


然而企业级部署 大都还是会选择tensorflow


看完这个新加坡国立大学的TF2教程你就知道了,

这是我找到的唯一的中文TF2的教程,拿走不谢!

全网唯一中文TF2!

深度学习与TensorFlow 2入门实战 - 网易云课堂?

study.163.com


事实证明当年的我还是太年轻了。。。

要搞部署的,比如移动端或者其他设备的,通通都给我用tensorflow!!用torch做移植,你就会留下和我一样的泪水。tensorflow的部署生态是非常的完善的。

如果是做玩具demo的话,用pytorch或者keras都可以,开发起来比较方便。


以下是原答案

TensorFlow,mxnet, caffe等是静态框架,pytorch,dynet等是动态框架,如果是做NLP,更推荐使用动态框架。

当然MXNet Gluon 和Tensorflow eager也开始像动态图靠拢了,所以这也是一个趋势吧。

理论上静态框架应该是更快,动态框架更灵活,但是也不好说哦,在某些任务下pytorch的实现我觉得比tf要快的,比如mask rcnn开源的pytorch比keras要快呢。


NLP的话推荐pytorch,更推荐pytorch基础上的AllenNLP框架,说道AllenNLP,不得不说起我的专栏,学习NLP,欢迎关注我的专栏


值得,方便很多


推荐阅读:
相关文章