• Tensorflow揭秘


    https://www.bilibili.com/video/av64970827/?p=7

    tf2.0主要使用tf.keras api来构建模型,主要包括如下几个部分

     一、Layers

          如下是一些特性,比如可以运行在eager 或 graph模式,支持type checking等。

         

         不支持的特性

         没听太懂(挖坑)

    一个典型的basic layer

    一个更实用的写法,不需要在初始化时定义输入维度,当第一次call时,会在build时根据input_shape,add_weight来构建权重,

    以后call时就可以reuse weights了。

    Layer中可以有non-trainable weights,比如bn层

     layer也可以nested化

     一个训练实例,没有了session,graph,比tf1简单顺眼多了

     定义了一个额外的损失,可以通过model.losses得到。

    layers serializable

    以字典的形式保存模型,不保留权重

     

     call中有个参数train

    二、Model

         和nested layer相比,只需要继承的类更改一下。不过增加了更多功能,compile,fit,evaluate,save。

     在实际使用时,layer通常表示某层或某个block,model表示一个完整的模型(需要train,predict等)

    fit,evaluate默认是graph execution(更快),也可以制定eager 模式

     三、Functional Models

     一种更简单直接的方式(下图中的x是某种输入,不是layer)  ,更适用于使用者,而不是开发者

     

     没看懂_keras_histor的作用(挖坑)

     

      

    Function API 包括如下特性

             

    (1)check 

             通过InputSpec来进行检查,在init中会给一个简单的check,当第一次调用时,在build中,会进行更详细的check。

     (2)save

              支持跨平台。

    (3)plot model

     (4)设计到nlp,不懂

    (5)使用dynamic layers

              如对bn层,train 和Inference时的不同处理

  • 相关阅读:
    JavaScript 数组去重
    Javascript数组 reduce() 方法
    Vue事件总线(EventBus)
    前端多媒体-音频
    前端多媒体-视频
    VUE3.0 总结
    el-select地区区号选择
    vue中点击获取相应元素
    Markdown 语法
    Codeforces Round #295 (Div. 2) B. Two Buttons 520B
  • 原文地址:https://www.cnblogs.com/573177885qq/p/11520743.html
Copyright © 2020-2023  润新知