AI - 主流深度学习框架简介

主流深度学习框架

  • 框架发展历程
  • Google - TensorFlow
  • Google - Keras
  • BVLC - Caffe/Caffe2
  • Facebook - PyTorch
  • DMLC - MXNet

框架发展历程

AI - 主流深度学习框架简介_第1张图片

Google - TensorFlow

  1. 优点
    (1)最流行的深度学习框架,社区强大
    (2)功能强大
    (3)在生产模型和可扩展性方面比较好,适合生产环境
    (4)使用 TensorBoard 可视化训练
    (5)通过 TensorFlow serving 容易实现生产部署

  2. 缺点
    (1)过于复杂的系统设计
    (2)频繁变动的接口,向后兼容性不好
    (3)接口设计过于晦涩难懂,有图、会话、命名空间等诸多抽象概念难以理解
    (4)文档混乱脱节
    (5)学习成本,开发成本高
    (6)静态图

Google - Keras

  1. 缺点
    (1)过度封装导致丧失灵活性,运行缓慢
    (2)基于第三方框架,更像深度学习接口而不是深度学习框架
    (3)主要是在调用接口,获取底层的数据信息时过于困难,很难学习到深度学习的内容
  2. 优点
    (1)高层神经网络API,最易上手
    (2)为支持快速实验而生,能够把想法迅速转换为结果
    (3)提供了一致而简洁的API, 极大地减少用户的工作量,避免用户重复造轮子

BVLC - Caffe/Caffe2

  1. 缺点
    (1)文档不够完善
    (2)因为设计,缺少灵活性,不同于Keras太多的封装
    (3)扩展难、依赖众多环境难以配置、应用局限
    (4)不适合非图像任务

  2. 优点
    (1)清晰、高效的深度学习框架,核心语言是C++
    (2)易用性、简洁明了的源码、快速的原型设计
    (3)性能优异,几乎全平台支持(Caffe2),适合生产环境

Facebook - PyTorch

  1. 缺点
    (1)可视化需要第三方
    (2)生产部署需要 API 服务器

  2. 优点
    (1)简洁优雅且高效快速,易用
    (2)活跃的社区,完整的文档,循序渐进的指南
    (3)动态图

DMLC - MXNet

  1. 缺点
    (1)文档略混乱

  2. 优点
    (1)超强的分布式支持,明显的内存、显存优化
    (2)语言支持最多,适合AWS云平台使用
    (3)分布式环境下,明显优于其他框架的扩展性能

你可能感兴趣的:(人工智能,人工智能,深度学习)