TensorFlow2 入门指南 | 10 Keras 与 tf.keras 总体框架介绍
Posted AI 菌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow2 入门指南 | 10 Keras 与 tf.keras 总体框架介绍相关的知识,希望对你有一定的参考价值。
前言:
本专栏在保证内容完整性的基础上,力求简洁,旨在让初学者能够更快地、高效地入门TensorFlow2 深度学习框架。如果觉得本专栏对您有帮助的话,可以给一个小小的三连,各位的支持将是我创作的最大动力!
系列文章汇总:TensorFlow2 入门指南
Github项目地址:https://github.com/Keyird/TensorFlow2-for-beginner
一、走进 Keras
Keras 是一个主要由 Python 语言开发的开源神经网络计算库,最初由 François Chollet 编写,它被设计为高度模块化和易扩展的高层神经网络接口,使得用户可以不需要过多的专业知识就可以简洁、快速地完成模型的搭建与训练。Keras 库分为前端和后端,其中后端可以基于现有的深度学习框架实现,如 Theano,CNTK,TensorFlow,前端接口即 Keras抽象过的统一接口 API。用户通过 Keras 编写的代码可以轻松的切换不同的后端运行,灵活性较大。
TensorFlow 与 Keras 存在既竞争,又合作的关系,甚至连 Keras 创始人都在 Google 工作。早在 2015 年 11 月,TensorFlow 被加入 Keras 后端支持。从 2017 年开始,Keras 的大部分组件被整合到 TensorFlow 框架中。在 TensorFlow 2 版本中,Keras 被正式确定为TensorFlow 的高层 API 唯一接口,取代了 TensorFlow 1 版本中自带的 tf.layers 等高层接口。也就是说,现在只能使用 Keras 的接口来完成 TensorFlow 层方式的模型搭建与训练。在 TensorFlow 中,Keras 被实现在 tf.keras 子模块中。
二、 Keras 与 tf.keras
那么 Keras 与 tf.keras 有什么区别与联系呢?其实 Keras 可以理解为一套搭建与训练神经网络的高层 API 协议,Keras 本身已经实现了此协议,可以方便的调用 TensorFlow,CNTK 等后端完成加速计算;在 TensorFlow 中,也实现了一套 Keras 协议,即 tf.keras,但只能基于 TensorFlow 后端计算,并对 TensorFlow 的支持更好。对于使用 TensorFlow 的开发者来说,tf.keras 可以理解为一个普通的子模块,与其他子模块,如 tf.math,tf.data 等并没有什么差别。下文如无特别说明,Keras 均指代 tf.keras 实现,而不是标准的 Keras 实现。
三、 Keras 优点
tf.keras 是用于构建和训练深度学习模型的 TensorFlow 高阶 API。利用此 API,可实现快速原型设计、先进的研究和生产,它具有以下三大优势:
- 方便用户使用
Keras 具有针对常见用例做出优化的简单而一致的界面。它可针对用户错误提供切实可行的清晰反馈。 - 模块化和可组合
将可配置的构造块组合在一起就可以构建 Keras 模型,并且几乎不受限制。 - 易于扩展
可以编写自定义构造块,表达新的研究创意;并且可以创建新层、指标、损失函数并开发先进的模型。
四、tf.keras 总体框架
1、tf.keras 的各个模块如下:
2、tf.keras 的两个重要类:
- Model:Model 将层分组为具有训练和推理特征的对象
- Sequential:Sequential 将层的线性堆栈分组到一个 tf.keras.Model
3、tf.keras 的一个重要功能函数:
- Input():用于实例化 Keras 张量
本教程所有代码会逐渐上传github仓库:https://github.com/Keyird/TensorFlow2-for-beginner
如果对你有帮助的话,欢迎star收藏~
最好的关系是互相成就,各位的「三连」就是【AI 菌】创作的最大动力,我们下期见!
以上是关于TensorFlow2 入门指南 | 10 Keras 与 tf.keras 总体框架介绍的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow2 入门指南 | 10 Keras 与 tf.keras 总体框架介绍
TensorFlow2 入门指南 | 06 TensorFLow2 高阶操作汇总
TensorFlow2 入门指南 | 06 TensorFLow2 高阶操作汇总
《30天吃掉那只 TensorFlow2.0》 3-3 高阶API示范