知行编程网知行编程网  2022-03-23 16:00 知行编程网 隐藏边栏 |   抢沙发  113 
文章评分 0 次,平均分 0.0

英文教程太难啃?这里有一份TensorFlow2.0中文教程(持续更新中)

来自 | 机器之心

今年 3 月份,谷歌在 Tensorflow Developer Summit 2019 大会上发布 TensorFlow 2.0 Alpha 版。作为当前最为流行的深度学习框架,2.0 Alpha 版的正式发布引人关注。近两个月,网上已经出现了大量 TensorFlow 2.0 英文教程。在此文章中,我们为大家推荐一个持续更新的中文教程,以便大家学习。

英文教程太难啃?这里有一份TensorFlow2.0中文教程(持续更新中)


虽然,自 TensorFlow 2.0 发布以来,我们总是能够听到「TensorFlow 2.0 就是 keras」、「说的很好,但我用 PyTorch」类似的吐槽。但毋庸置疑,TensorFlow 依然是当前最主流的深度学习框架。


整体而言,为了吸引用户,TensorFlow 2.0 从简单、强大、可扩展三个层面进行了重新设计。特别是在简单化方面,TensorFlow 2.0 提供更简化的 API、注重 Keras、结合了 Eager execution。


    此文章中,我们为大家推荐一个持续更新的中文教程,方便大家更系统的学习、使用 TensorFlow 2.0 :


    • 知乎专栏地址:https://zhuanlan.zhihu.com/c_1091021863043624960

    • Github 项目地址:https://github.com/czy36mengfei/tensorflow2_tutorials_chinese


    该教程是 NLP 爱好者 Doit 在知乎上开的一个专栏,由作者从 TensorFlow2.0 官方教程的个人学习复现笔记整理而来。作者将此教程分为了三类:TensorFlow 2.0 基础教程、TensorFlow 2.0 深度学习实践、TensorFlow 2.0 基础网络结构。


    以基础教程为例,作者整理了 Keras 快速入门教程、eager 模式、Autograph 等。目前为止,该中文教程已经包含 20 多篇文章,作者还在持续更新中,感兴趣的读者可以 follow。


    英文教程太难啃?这里有一份TensorFlow2.0中文教程(持续更新中)

    英文教程太难啃?这里有一份TensorFlow2.0中文教程(持续更新中)

    该中文教程当前目录


    以下是作者整理的「Keras 快速入门」教程内容。


    Keras 快速入门


    Keras 是一个用于构建和训练深度学习模型的高阶 API。它可用于快速设计原型、高级研究和生产。


    keras 的 3 个优点: 方便用户使用、模块化和可组合、易于扩展


    1. 导入 tf.keras


    tensorflow2 推荐使用 keras 构建网络,常见的神经网络都包含在 keras.layer 中 (最新的 tf.keras 的版本可能和 keras 不同)



    2. 构建简单模型


    2.1 模型堆叠


    最常见的模型类型是层的堆叠:tf.keras.Sequential 模型



    2.2 网络配置


    tf.keras.layers 中网络配置:


    • activation:设置层的激活函数。此参数由内置函数的名称指定,或指定为可调用对象。默认情况下,系统不会应用任何激活函数。

    • kernel_initializer 和 bias_initializer:创建层权重(核和偏差)的初始化方案。此参数是一个名称或可调用对象,默认为 "Glorot uniform" 初始化器。

    • kernel_regularizer 和 bias_regularizer:应用层权重(核和偏差)的正则化方案,例如 L1 或 L2 正则化。默认情况下,系统不会应用正则化函数。



    3. 训练和评估


    3.1 设置训练流程


    构建好模型后,通过调用 compile 方法配置该模型的学习流程:



    3.2 输入 Numpy 数据



    3.3tf.data 输入数据



    3.4 评估与预测



    4. 构建高级模型


    4.1 函数式 api


    tf.keras.Sequential 模型是层的简单堆叠,无法表示任意模型。使用 Keras 函数式 API 可以构建复杂的模型拓扑,例如:


    • 多输入模型,

    • 多输出模型,

    • 具有共享层的模型(同一层被调用多次),

    • 具有非序列数据流的模型(例如,残差连接)。


    使用函数式 API 构建的模型具有以下特征:


    • 层实例可调用并返回张量。

    • 输入张量和输出张量用于定义 tf.keras.Model 实例。

    • 此模型的训练方式和 Sequential 模型一样。



    4.2 模型子类化


    通过对 tf.keras.Model 进行子类化并定义您自己的前向传播来构建完全可自定义的模型。在 init 方法中创建层并将它们设置为类实例的属性。在 call 方法中定义前向传播



    4.3 自定义层


    通过对 tf.keras.layers.Layer 进行子类化并实现以下方法来创建自定义层:


    • build:创建层的权重。使用 add_weight 方法添加权重。

    • call:定义前向传播。

    • compute_output_shape:指定在给定输入形状的情况下如何计算层的输出形状。或者,可以通过实现 get_config 方法和 from_config 类方法序列化层。



    4.4 回调



    5 保持和恢复


    5.1 权重保存



    5.2 保存网络结构



    5.3 保存整个模型



    6. 将 keras 用于 Estimator


    Estimator API 用于针对分布式环境训练模型。它适用于一些行业使用场景,例如用大型数据集进行分布式训练并导出模型以用于生产



    — 完 —

    为您推荐

    PyTorch最佳实践,怎样写出一手风格优美的代码

    最全中文leetcode解题攻略:思路知识点代码都有,搞定AI大厂笔试

    GitHub标星2.6万!Python算法新手入门大全

    亚马逊AI监工:效率低的不是我兄弟

    经验之谈:代码该怎样写才能干净整洁

    本篇文章来源于: 深度学习这件小事

    本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

    知行编程网
    知行编程网 关注:1    粉丝:1
    这个人很懒,什么都没写

    发表评论

    表情 格式 链接 私密 签到
    扫一扫二维码分享