专栏首页AI人工智能与大数据TensorFlow与PyTorch对比

TensorFlow与PyTorch对比

用TensorFlow还是PyTorch?从TensorFlow开始学起还是PyTorch?在一年前,这个问题毫无争议,当然是TensorFlow. 但时过境迁,现在的情况大不一样了,下面就来分析对比一下这两个主流框架。

首先看一下最近的统计数据,下图的数据是从arxiv论文中统计得到的。上面的黄线是TensorFlow的使用比例,下面的红线是PyTorch的使用比例,可以看出,最近的数据两者已经不差上下,甚至红线PyTorch在2019.6要略胜一筹。

右边的条形图是从1月到6月的累计数据,TensorFlow占比还是要略高一点,但是23%的增长率明显要低于PyTorch的194%.也就是说,现在TensorFlow和PyTorch在学术界的使用率上来说已经不差上下了

来源:https://www.oreilly.com/ideas/one-simple-graphic-researchers-love-pytorch-and-tensorflow

决定一个框架的使用率有哪些因素呢?我总结有以下四个方面:

  1. 易用性
  2. 速度
  3. 算子数量
  4. 开源模型

第一是易用性。PyTorch自从2018年12月PyTorch 1.0 stable版本正式发布以来,只有半年多的时间,能迅速增长易用性功不可没。PyTorch的易用性一方面是debug简单,可以直接设置断点查看各个tensor的值,另一方面tensor可以和numpy格式互相转换调用,可以使用python的控制流,大大扩充了其灵活性(TensorFlow推出的eager模式有类似目的和效果)。

第二是速度。训练是一个费时费力的过程,用GPU训练一两天是正常,甚至有的大模型大数据量需要十天半个月(例如BERT large),因此训练速度也是大家比较关心的一个指标。PyTorch虽然提供了非常灵活的接口,采用动态图机制,但是也做了非常多的优化,比如异步调用,尽量流水执行等方式,使得其速度和TensorFlow相当,甚至一些场景优于TensorFlow.

第三是算子数量。这一点TensorFlow无疑是最大的赢家,提供的python API达到8000多个(参见https://tensorflow.google.cn/api_docs/python),基本上不存在用户找不到的算子,所有的算法都可以用TensorFlow算子拼出来。不过API过多也是个负担,又是low level又是high level,容易把用户整晕。PyTorch由于起步较晚,数量少有劣势,但质量上有优势。

第四是开源模型。这点其实也非常重要,试想一下,现在你要用BERT,这个是由Google研究发布,基于TensorFlow开源的,那自然只能选TensorFlow上手了。虽然后续有人开源PyTorch的版本,但毕竟时间上要晚一些,而且非官方的,质量不能得到100%的保证,关注度会大打折扣。不过PyTorch这方面也非常重视,之前把何凯明挖过去,构建了自己的图像检测、分割开源库Detectron,对提升PyTorch的使用率起了很大作用。

总得来说,这两种框架是都需要必备的,掌握各自的使用技巧,多看新的模型,才能立于不败之地~

附录:

TensorFlow models:

bert

boosted_trees

mnist

resnet

transformer

wide_deep

adversarial_crypto

adversarial_text

attention_ocr

audioset

autoencoder

brain_coder

cognitive_mapping_and_planning

compression

cvt_text

deep_contextual_bandits

deep_speech

deeplab

delf

differential_privacy

domain_adaptation

fivo

gan

im2txt

inception

keypointnet

learning_to_remember_rare_events

learning_unsupervised_learning

lexnet_nc

lfads

lm_1b

lm_commonsense

maskgan

namignizer

neural_gpu

neural_programmer

next_frame_prediction

object_detection

pcl_rl

ptn

marco

qa_kg

real_nvp

rebar

resnet

seq2species

skip_thoughts

slim

street

struct2depth

swivel

syntaxnet

tcn

textsum

transformer

vid2depth

video_prediction

PyTorch models

AlexNet

VGG

ResNet

SqueezeNet

DenseNet

Inception v3

GoogLeNet

ShuffleNet v2

MobileNet v2

ResNeXt

FCN ResNet101

DeepLabV3 ResNet101

Faster R-CNN ResNet-50 FPN

Mask R-CNN ResNet-50 FPN

Keypoint R-CNN ResNet-50 FPN

参考资料:

统计数据:https://www.oreilly.com/ideas/one-simple-graphic-researchers-love-pytorch-and-tensorflow

Eager发布的blog: https://ai.googleblog.com/2017/10/eager-execution-imperative-define-by.html

Eager说明:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/README.md#changelog

本文分享自微信公众号 - AI人工智能与大数据(ai_data_tech),作者:guanxs_ai

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PyTorch 1.3 重磅发布 完整版

    2019.10.10日,PyTorch 开发者大会在美国旧金山开幕,会上发布了PyTorch 1.3。这次更新最大的亮点在于对移动设备的支持(Mobile Su...

    用户7164815
  • PyTorch 1.3 重磅发布

    2019.10.10日,PyTorch 开发者大会在美国旧金山开幕,会上发布了PyTorch 1.3。这次更新最大的亮点在于对移动设备的支持(Mobile Su...

    用户7164815
  • 深度学习中的数据增强技术:Augmentation

    数据增强(Data Augmentation)是一种通过利用算法来扩展训练数据的技术。人工智能三要素之一为数据,但获取大量数据成本高,但数据又是提高模型精度和泛...

    用户7164815
  • 最新TensorFlow能碾压PyTorch?两大深度学习框架最全比拼

    TensorFlow是毫无争议的深度学习框架重量级冠军,而PyTorch是年轻的后起之秀,赢的了不少人的青睐。

    磐创AI
  • EFK教程(5) - ES集群开启用户认证

    ▷ 在第一篇《EFK教程 - 快速入门指南》中,阐述了EFK的安装部署,其中ES的架构为三节点,即master、ingest、data角色同时部署在三台服务器上...

    小慢哥Linux运维
  • 机器学习者必知的 5 种深度学习框架

    本文为雷锋字幕组编译的技术博客,原标题 The 5 Deep Learning Frameworks Every Serious Machine Learner...

    AI研习社
  • TensorFlow还是PyTorch?哪一个才更适合编写深度神经网络?

    编程实现神经网络的最佳框架是什么?TensorFlow还是PyTorch?我的回答是:别担心,你从哪一个入门,你选择哪一个并不重要,重要的是自己动手实践!下面我...

    deephub
  • PyTorch1.0 预览版强势发布!

    万众瞩目的Pytorch 1.0 依旧跳票了,但为了安抚各位弱小的心,FaceBook强势推出Pytorch 1.0 预览版(preview)!

    Amusi
  • TensorFlow的核心概念:张量和计算图

    使用TensorFlow的基本步骤一般为:定义计算图,执行计算图,查看计算图(可选)。

    lyhue1991
  • Meltdown 简简述

    近日现代 CPU 的 Meltdown & Spectre 漏洞沸沸扬扬,最早是 Google 研究员发现可以通过内存侧信道时序攻击来获取隐私数据,后续 Chr...

    王下邀月熊

扫码关注云+社区

领取腾讯云代金券