分享

官方最新tf.keras指南,用面向对象构建深度网络、网络结构可视化等

 LibraryPKU 2019-03-22

【导读】tf.keras是TensorFlow 2.0最主要的高阶API接口,为TensorFlow的代码提供了新的风格和设计模式,大大提升了TF代码的简洁性和复用性,也间接地提供了TF开发的规范。本文介绍TF官网提供的最新的tf.keras指南。

TensorFlow 1.x以静态图为主,网上主流的TF代码编写主要是面向过程的(函数为主),在引入tf.keras之后,TensorFlow官方就开始推荐tf.keras里各种面向对象的编程风格,从层到模型都是类和对象,大大简化了代码的简洁性和复用性,也间接地提供了TF开发的规范。

Keras作者François Chollet在Twitter转发了TensorFlow官方最新tf.keras指南,本文大概介绍一下该指南中比较重要的内容。

指南的内容大致如下:

  • Keras Functional API

  • 训练和评价

  • 利用继承构建层和模型

  • 保存和序列化模型

Keras Functional API


指南地址:

https://www./alpha/guide/keras/functional

内容概要:

  • Keras中网络层的定义和调用,例如如何用指定的参数来定义一个全连接层,然后用定义的层来变换输入数据。

  • Keras模型的定义和调用,包括模型自带的训练和评价函数。

  • Keras层测复用

  • 网络中间层信息的提取和复用

  • 自定义Keras层

  • Functional API的优点和缺点

  • Functional API和Subclassing API(继承式)混写

  • 另外,用内置的函数可以直接可视化网络结构了:


训练和评价


指南地址:

https://www./alpha/guide/keras/training_and_evaluation

内容概要:

  • Keras模型内置的训练和评价Loop

  • 自定义损失函数

  • 用tf.data.Datasets作为输入

  • 其它输入格式,如Pandas

  • 采样和类别权重

  • 多输入和多输出

  • 回调函数

  • 断点

  • 学习率规划

  • 用TensorBoard可视化损失

利用继承构建层和模型


指南地址:

https://www./alpha/guide/keras/custom_layers_and_models

内容概要:

  • Keras层封装状态(权重)和计算

  • 权重延迟构造(延迟到输入形状已知时)

  • 递归构造Keras层

  • Keras层在前向传播时递归收集损失

  • 可选启用序列化Keras层

  • call方法中的training参数

  • 端到端地构建一个模型

保存和序列化模型


指南地址:

https://www./alpha/guide/keras/saving_and_serializing

内容概要:

  • 保存整个模型

  • 导出到SavedModel

  • 仅保存结构

  • 仅保存权重

  • 在SavedModel格式下仅保存权重

  • 保存继承的模型


参考链接:

  • https://www./alpha/guide/keras/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多