当前位置: 首页 > news >正文

从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?

开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力。那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一个参考。你最看好哪个深度学习框架呢?

现在的许多机器学习框架都可以在图像识别、手写识别、视频识别、语音识别、目标识别和自然语言处理等许多领域大展身手,但却并没有一个完美的深度神经网络能解决你的所有业务问题。所以,本文希望下面的图表和讲解能够提供直观方法,帮助读者解决业务问题。

下图总结了在 GitHub 中最受欢迎的开源深度学习框架排名,该排名是基于各大框架在 GitHub 里的收藏数,这个数据由 Mitch De Felice 在 2017 年 5 月初完成。

从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?

 

TensorFlow

地址: https://www.tensorflow.org/

TensorFlow 最开始是由谷歌一个称之为 DistBelief V2 的库发展而来,它是一个公司内部的深度神经网络库,隶属于谷歌大脑项目。有一些人认为 TensorFlow 是由 Theano 彻底重构而来。

谷歌开源 TensorFlow 后,立即吸引了一大批开发爱好者。TensorFlow 可以提供一系列的能力,例如图像识别、手写识别、语音识别、预测以及自然语言处理等。2015 年 11 月 9 号,TensorFlow 在 Apache 2.0 协议下开源发布。

TensorFlow 1.0 版本已于 2017 年 2 月 15 日发布,这个版本是之前 8 个版本的优化改进版,其致力于解决 Tensorflow 之前遇到的一系列问题以及完善一些核心能力。TensorFlow 获得成功的因素有:

TensorFlow 提供了如下工具http://aomenyonli.cn/:

TensorBoard:对于网络模型和效果来说是一个设计优良的可视化工具。

TensorFlow Serving:可以保持相同的服务器架构和 API,使得部署新算法和实验变得简单。TensorFlow Serving 提供了与 TensorFlow 模型开箱即用的整合,但同时还能很容易扩展到其它类型的模型和数据。

TensorFlow 编程接口支持 Python 和 C++。随着 1.0 版本的公布,Java、Go、R 和 Haskell API 的 alpha 版本也将被支持。此外,TensorFlow 还可在谷歌云和亚马孙云中运行。

随着 0.12 版本的发行,TensorFlow 将支持 Windows 7、 Windows 10 和 Server 2016。由于 TensorFlow 使用 C++ Eigen 库,所以库可在 ARM 架构上编译和优化。这也就意味着你可以在各种服务器和移动设备上部署你的训练模型,而无需执行单独的模型解码器或者加载 Python 解释器。

TensorFlow 支持细粒度的网格层,而且允许用户在无需用低级语言实现的情况下构建新的复杂的层类型。子图执行操作允许你在图的任意边缘引入和检索任意数据的结果。这对调试复杂的计算图模型很有帮助。

分布式 TensorFlow(Distributed TensorFlowhttp://dajinnylee.cn/)被加进了 0.8 版本,它允许模型并行,这意味着模型的不同部分可在不同的并行设备上被训练。

自 2016 年 3 月,斯坦福大学、伯克利大学、多伦多大学和 Udacity 都将这个框架作为一个免费的大规模在线开放课程进行教授。

TensorFlow 的缺点如下:

TensorFlow 的每个计算流都必须构造为一个静态图,且缺乏符号性循环(symbolic loops),这会带来一些计算困难。

没有对视频识别很有用的三维卷积(3-D convolution)。

尽管 TensorFlow 现在比起始版本(v0.5)快了 58 倍,,但在执行性能方面依然落后于竞争对手。

Caffe

地址:

Caffe 是贾扬清的杰作,目前他在 Facebook AI 平台担任首席工程师。Caffe 可能是自 2013 年底以来第一款主流的工业级深度学习工具包。正因为 Caffe 优秀的卷积模型,它已经成为计算机视觉界最流行的工具包之一,并在 2014 年的 ImageNet 挑战赛中一举夺魁。Caffe 遵循 BSD 2-Clause 协议。

Caffe 的快速使其完美应用于实验研究和商业部署。Caffe 可在英伟达单个 K40 GPU 上每天处理 6000 万张图像。这大概是 1 毫秒预测一张图片,4 毫秒学习一张图片的速度,而且最新的版本处理速度会更快。

Caffe 基于 C++,因此可在多种设备上编译。它跨平台运行,并包含 Windows 端口。Caffe 支持 C++、Matlab 和 Python 编程接口。Caffe 拥有一个庞大的用户社区,人们在其中为被称为「Model Zoo(https://github.com/BVLC/caffe/wiki/Model-Zoo)」的深度网络库做贡献。AlexNet 和 GoogleNet 就是社群用户构建的两个流行网络

相关文章:

  • jmeter添加自定义扩展函数之图片base64编码
  • Vue 2.3、2.4 知识点小结
  • 颜色模式
  • 自作聪明的开发
  • 记录一次MySQL进程崩溃,无法重启故障排查
  • 我的IntelliJ IDEA 设置
  • shell自定义函数
  • SVN:show log问题
  • monaco editor + vue的配置
  • Centos7配置ubuntu本地仓库
  • jQuery 选择器
  • IP unnumbered interface,某个接口不编号,某个接口不分配IP地址
  • struts2中怎样处理404?
  • 一张图让你学会LVM
  • WiFi替代者LiFi首次实测结果出炉:1Gbps
  • Computed property XXX was assigned to but it has no setter
  • ES2017异步函数现已正式可用
  • Git学习与使用心得(1)—— 初始化
  • Leetcode 27 Remove Element
  • mysql 数据库四种事务隔离级别
  • SpiderData 2019年2月23日 DApp数据排行榜
  • supervisor 永不挂掉的进程 安装以及使用
  • vuex 笔记整理
  • Web设计流程优化:网页效果图设计新思路
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 回顾2016
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 算法---两个栈实现一个队列
  • 优秀架构师必须掌握的架构思维
  • 正则表达式小结
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (70min)字节暑假实习二面(已挂)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四)c52学习之旅-流水LED灯
  • (五)Python 垃圾回收机制
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转载)Google Chrome调试JS
  • *Django中的Ajax 纯js的书写样式1
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .netcore 获取appsettings
  • .NetCore部署微服务(二)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • @angular/cli项目构建--Dynamic.Form
  • @javax.ws.rs Webservice注解
  • @SuppressWarnings(unchecked)代码的作用
  • @软考考生,这份软考高分攻略你须知道
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [@Controller]4 详解@ModelAttribute