Skip to content
This repository has been archived by the owner on Sep 5, 2021. It is now read-only.

Latest commit

 

History

History
120 lines (61 loc) · 2.19 KB

30-Day7.md

File metadata and controls

120 lines (61 loc) · 2.19 KB

Day7

李高远 No.30

网络结构

前馈网络
  • 多层前馈网络FNN

    多层全连接网络FCN、多层感知机MLP、多个密集层网络Dense —— 相同

  • 卷积网络CNN

    计算快、可并行化

  • 循环网络RNN —— 反馈网络 :之前时刻的输出可以用于输入

Keras

总体介绍
  1. 简介

    高级API —— 基于tensorflow2快速搭建深度神经网络

  2. 核心概念

    • 模型Model:层的组织形式,包括架构和权重参数

      顺序模型 Sequential Model

    • 层layer

      Dense, Activation, Dropout随即丢弃,用于卷积网络, Flatten拍平, Reshape

      Convolutional Layers, Pooling Layers, Locally-connected Layers

    • 激活函数

      tf.keras.activations

    • 优化器optimizers

      Optimizer基类、SGD随机梯度下降、Nadam

      动量参数momentum

      RMSprop、Adagrad、Adam自适应调整学习率

      Nadam 使用Nesterov加速梯度算法,基于之前的所有梯度更新模型参数

  3. 使用流程

    • mnist数据集,7万张图片
    • fashion-mnist 彩色图像
  4. 实践学习

    Define、Compile、Fit、Evaluate、Predict、Load/Save

训练和评估——手写数字识别

​ 3层的全连接网络

顺序模型
  1. 适用于一个普通堆栈的图层,每个图层只有一个输入张量和一个输出张量

  2. 创建顺序模型

    • 顺序构造函数

    • add()函数,以增量方式创建;pop()删除

    • 使用有语义的name参数

    • 预先指定输入形状——第一次调用时创建权重

      keras.Input(shape=(4, ))

      input_shape=(4, )

层和模型
  1. Layer 层

    密集连接的层:具有一个状态:变量w和b

    add_weight()添加权重

    可训练与不可训练权重 —— 反向传播时不会被考虑

    得到输入形状之后,再创建权重

  2. keras模型的实现

    • Model类

      与layer进行区分;是否使用fit() , save()

    • ResNet —— CV

即刻执行 Eager Execution

函数的求值方式
  • Eager Evaluation
  • Lazy Evaluation
Tensorflow2 eager
  • 命令式编程环境
  • 动态控制流
  • 即刻训练
Keras MNIST 即刻训练