当前位置:主页 > 彩票平台包网 >

从框架优缺点说起,这彩票平台出租是一份TensorFlow入门极简教

从框架优缺点说起,这是一份TensorFlow入门极简教程

2018-05-24 12:23 来源:机器之心Synced 程序设计

原标题:从框架优缺点说起,这是一份TensorFlow入门极简教程

选自easy-tensorflow

参与:张倩、刘晓坤

随着 TensorFlow 在研究及产品中的应用日益广泛,很多开发者及研究者都希望能深入学习这一深度学习框架。而在昨天机器之心发起的框架投票中,2144 位参与者中有 1441 位都在使用 TensorFlow 框架,是所有框架中使用率最高的。但 TensorFlow 这种静态计算图有一定的学习成本,因此也阻挡了很多准备入坑的初学者。本文介绍了学习 TensorFlow 的系列教程,旨在通过简单的理论与实践帮助初学者一步步掌握 TensorFlow 的编程技巧。

这一系列教程分为 6 部分,从为什么选择 TensorFlow 到卷积神经网络的实现,介绍了初学者所需要的技能。机器之心在本文介绍了 PyTorch 和 Caffe 等深度学习框架的优缺点及 TensorFlow 基础,包括静态计算图、张量、TensorBoard 可视化和模型参数的保存等。

教程地址:

机器之心此前也介绍过很多 TensorFlow 的学习资源,读者可结合这些资源阅读该系列教程:

为什么选择 TensorFlow?

在本文中,我们将对比当前最流行的深度学习框架(包括 Caffe、Theano、PyTorch、TensorFlow 和 Keras),帮助你为应用选择最合适的框架。

1. Caffe:第一个主流产品级深度学习库,于 2014 年由 UC Berkeley 启动。

优点:

快速

支持 GPU

漂亮的 Matlab 和 Python 接口

缺点:

不灵活。在 Caffe 中,每个节点被当做一个层,因此如果你想要一种新的层类型,你需要定义完整的前向、后向和梯度更新过程。这些层是网络的构建模块,你需要在无穷无尽的列表中进行选择。(相反,在 TensorFlow 中,每个节点被当做一个张量运算例如矩阵相加、相乘或卷积。你可以轻易地定义一个层作为这些运算的组合。因此 TensorFlow 的构建模块更小巧,允许更灵活的模块化。)

需要大量的非必要冗长代码。如果你希望同时支持 CPU 和 GPU,你需要为每一个实现额外的函数。你还需要使用普通的文本编辑器来定义你的模型。真令人头疼!几乎每个人都希望程序化地定义模型,因为这有利于不同组件之间的模块化。有趣的是,Caffe 的主要架构师现在在 TensorFlow 团队工作。

专一性。仅定位在计算机视觉(但做得很不错)。

不是以 Python 编写!如果你希望引入新的变动,你需要在 C++和 CUDA 上编程(对于更小的变动,你可以使用它的 Python 和 Matlab 接口)。

糟糕的文档。

安装比较困难!有大量的依赖包。

只有少量种类的输入格式,仅有一种输出格式 HDF5(虽然你总是可以使用它的 Python/C++/Matlab 接口来运行,并从中得到输出数据)。

不适用于构建循环网络。

2. Theano:由蒙特利尔大学研究团队构建。Theano 的顶层构建了数值开源深度库,包括 Keras、Lasagne 和 Blocks。Yoshua Bengio 在 2017 年 9 月 28 日宣布,Theano 的开发将终止。因此实际上 Theano 已死!

优点:

计算图的抽象很漂亮(可媲美 TensorFlow)

为 CPU 和 GPU 都做了优化

很好地适应数值优化任务

高级封装(Keras、Lasagne)

缺点:

原始的 Theano 只有比较低级的 API

importnumpy

for_ inrange(T):

h = torch.matmul(W, h) + b

大型模型可能需要很长的编译时间

不支持多 GPU

错误信息可能没有帮助(有时候令人懊恼)

3. Pytorch2017 年 1 月,Facebook 将 Python 版本的 Torch 库(用 Lua 编写)开源。

优点:

提供动态计算图(意味着图是在运行时生成的),允许你处理可变长度的输入和输出,例如,在使用 RNN 时非常有用。

另一个例子是,在 PyTorch 中,可以使用标准 Python 语法编写 for 循环语句。

大量预训练模型

大量易于组合的模块化组件

易于编写自己的图层类型,易于在 GPU 上运行

「TensorBoard」缺少一些关键功能时,「Losswise」可以作为 Pytorch 的替代品

缺点:

正式文档以外的参考资料/资源有限

无商业支持

4. TensorFlow:由较低级别的符号计算库(如 Theano)与较高级别的网络规范库(如 Blocks 和 Lasagne)组合而成。

优点:

由谷歌开发、维护,因此可以保障支持、开发的持续性。

巨大、活跃的社区

网络训练的低级、高级接口

「TensorBoard」是一款强大的可视化套件,旨在跟踪网络拓扑和性能,使调试更加简单。

用 Python 编写(尽管某些对性能有重要影响的部分是用 C++实现的),这是一种颇具可读性的开发语言

支持多 GPU。因此可以在不同的计算机上自由运行代码,而不必停止或重新启动程序

比基于 Theano 的选项更快的模型编译

编译时间比 Theano 短

TensorFlow 不仅支持深度学习,还有支持强化学习和其他算法的工具。

缺点:

计算图是纯 Python 的,因此速度较慢

图构造是静态的,意味着图必须先被「编译」再运行

点击次数:  更新时间2019-04-09  【打印此页】  【关闭
  • 顶呱呱娱乐彩票系统是专业的彩票系统包网平台,提供彩票系统软件开发,彩票包网平台,彩票平台出租和出售 Power by yicaiyun01  新ICP备12345678号
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【顶呱呱彩票包网】
【因为有我】
【所以精彩】