• 【学习】深度学习代码各个步骤都是为了啥(二)



    活动地址:CSDN21天学习挑战赛

    学习日记

    构建模型

    model = tf.keras.Sequential([
        SimpleRNN(100, return_sequences=True), #布尔值。是返回输出序列中的最后一个输出,还是全部序列。
        Dropout(0.1),                         #防止过拟合
        SimpleRNN(100),
        Dropout(0.1),
        Dense(1)
    ])
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Sequential()方法是一个容器,描述了神经网络的网络结构,在Sequential()的输入参数中描述从输入层到输出层的网络结构

    Keras中,有4种类型的RNN模型,分别是:

    • SimpleRNN (全连接的简单RNN)
    • LSTM(长短时记忆模型)
    • GRU (门控逻辑模型)
    • StackedRNNCells(堆叠模型)

    Dropout正则化是最简单的神经网络正则化方法。其原理非常简单粗暴:任意丢弃神经网络层中的输入,该层可以是数据样本中的输入变量或来自先前层的激活。它能够模拟具有大量不同网络结构的神经网络,并且反过来使网络中的节点更具有鲁棒性。

    Dense 就是常提到和用到的全连接层

    激活模型

    # 该应用只观测loss数值,不观测准确率,所以删去metrics选项,一会在每个epoch迭代显示时只显示loss值
    model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
                  loss='mean_squared_error')  # 损失函数用均方误差
    
    
    • 1
    • 2
    • 3
    • 4
    • optimizer:优化器,用于控制梯度裁剪。必选项
    • loss:损失函数(或称目标函数、优化评分函数)。必选项
    • metrics:评价函数用于评估当前训练模型的性能。当模型编译后(compile),评价函数应该作为 metrics的参数来输入。评价函数和损失函数相似,只不过评价函数的结果不会用于训练过程中。

    训练模型

    history = model.fit(x_train, y_train, 
                        batch_size=64, 
                        epochs=20, 
                        validation_data=(x_test, y_test), 
                        validation_freq=1)                  #测试的epoch间隔数
    
    model.summary()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • batch_size 整数 每次梯度更新的样本数。 未指定,默认为32
    • epochs 整数 训练模型迭代次数
    • verbose 日志展示,整数 0:为不在标准输出流输出日志信息 1:显示进度条 2:每个epoch输出一行记录
    • validation_split

    浮点数0-1之间
    用作验证集的训练数据的比例。
    模型将分出一部分不会被训练的验证数据,并将在每一轮结束时评估这些验证数据的误差和任何其他模型指标。
    验 证 数 据 是 混 洗 之 前 x 和 y 数 据 的 最 后 一 部 分 样 本 中 。 \color{red}{ 验证数据是混洗之前 x 和y 数据的最后一部分样本中。}验证数据是混洗之前x和y数据的最后一部分样本中。

    • validation_data

    元组 (x_val,y_val) 或元组 (x_val,y_val,val_sample_weights), 用来评估损失,以及在每轮结束时的任何模型度量指标。
    模型将不会在这个数据上进行训练。
    这个参数会覆盖 validation_split。

    • validation_steps

    仅当steps_per_epoch被指定时有用,在验证集上的step总数。

  • 相关阅读:
    UGUI自动布局Layout
    金融信创与云化转型|保险超融合架构转型与场景探索合集
    【原创】FFMPEG录屏入门指南
    C 变量和类型
    【DOCKER】显示带UI的软件
    记录--`ElementUI` 中的奇技淫巧
    轻松拿下Offer!20个Salesforce管理员&顾问的基础面试问题
    docker命令
    猿代码浅谈MPI与OpenMP并行程序设计
    常见的C/C++开源QP问题求解器
  • 原文地址:https://blog.csdn.net/u013036688/article/details/126308666