详解:Tensorflow、Pytorch、Keras(搭建自己的深度学习网络) ...

打印 上一主题 下一主题

主题 1622|帖子 1622|积分 4866

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是一个专门对Tensorflow、Pytorch、Keras三个主流DL框架的一个详解和对比分析
一、作甚深度学习框架?

你可以明白为一个工具帮你构建一个深度学习网络,调用里面的各种方法就能自行构建任意层,diy你想要的DNN,而且任意指定学习器和优化器等,非常的方便!

二、Tensorflow

1.发展历史

TensorFlow由Google智能呆板研究部门Google Brain团队研发的;TensorFlow编程接口支持Python和C++。随着1.0版本的公布,相继支持了Java、Go、R和Haskell API的alpha版本。
在2017年,Tensorflow独占鳌头,处于深度学习框架的领先职位;但截至目前已经和Pytorch不争上下。

注意,Tensorflow目前重要在工业级领域处于领先职位。参考至博客(38 封私信 / 16 条消息) 为什么说学术上用pytorch,工业上用tensorflow? - 知乎 (zhihu.com)
但说句真话,这个问题过于宏观,每个人都有自己的观点,最好还是自己现实两者都使用之后,再来说最适合自己的是哪一个吧。(并且tensoeflow和pytorch两者都一直在发展,后期有可能就不分伯仲啦!)

三、Pytorch

Pytorch目前是由Facebook人工智能学院提供支持服务的。
Pytorch目前重要在学术研究方向领域处于领先职位


其优点在于:PyTorch可以使用强大的GPU加速的Tensor盘算(好比:Numpy的使用)以及可以构建带有autograd的深度神经网络。
同时,PyTorch 的代码很简洁、易于使用、支持盘算过程中的动态图而且内存使用很高效
四、Keras

本来是一个独立的高级API,如今已经成为Tensorflow的一部门
接口简单友爱,使用tensorflow作为后端,适合快速实行和原型开发
五、区别

重要区别:

  • 盘算图:

    • TensorFlow使用静态盘算图,需要先定义后运行
    • PyTorch使用动态盘算图,更灵活,可以边定义边运行

  • 易用性:

    • Keras通常被认为是最轻易上手的
    • PyTorch的API计划更加直观
    • TensorFlow相对复杂一些,但提供更多底层控制

  • 性能和摆设:

    • TensorFlow在大规模摆设和性能优化方面较为成熟
    • PyTorch在研究和实行阶段更受欢迎
    • Keras作为高级API,性能可能略低,但开发速率快

  • 社区和生态体系:

    • TensorFlow拥有最大的社区和最广泛的工具支持
    • PyTorch在学术界更受欢迎,增长敏捷
    • Keras作为TensorFlow的一部门,也有很好的社区支持

六、总结


  • TensorFlow:

    • 由Google开发
    • 使用静态盘算图
    • 广泛应用于生产情况
    • 有较为美满的摆设工具

  • PyTorch:

    • 由Facebook开发
    • 使用动态盘算图
    • 更加灵活,适合研究和快速原型开发
    • 相对更加直观和易于调试

  • Keras:

    • 最初是一个独立的高级API,现已成为TensorFlow的一部门
    • 提供更简单、更用户友爱的接口
    • 可以使用TensorFlow或Theano作为后端
    • 适合快速实行和原型开发

六、代码实现以及对比(key
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表