• 用 TensorFlow API:tf.keras 搭建网络八股


    TensorFlow API:tf.keras 搭建网络八股

    六步法

    1. import
      导入相关模块
    2. train, test
      指定训练集的输入特征 x_train 和训练集的标签 y_train,以及测试集的输入特征 x_test 和测试集的标签 y_test
    3. model = tf.keras.models.Sequential
      在 Sequential() 中搭建网络结构,逐层描述每层网络,相当于走了一遍前向传播
    4. model.compile
      在 compile() 中配置训练方法,告知训练时使用哪种优化器,选择哪个损失函数,选择哪种评测指标
    5. model.fit
      在 fit() 中执行训练过程,告知训练集和测试集的输入特征和标签,告知每个 batch 是多少,告知要迭代多少次数据集
    6. model.summary
      用 summary() 打印出网络的结构和参数统计

    Sequential()

    model = tf.keras.models.Sequential([网络结构]) # 描述各层网络
    
    • 1

    网络结构举例:

    • 拉直层:tf.keras.layers.Flatten()
    • 全连接层:tf.keras.layers.Dense(神经元个数, activation="激活函数", kernal_size()=卷积核尺寸, strides=卷积步长, padding="valid" or "same")
      activation(字符串给出)可选:relu、softmax、sigmoid、tanh
      kernal_regularizer 可选:tf.keras.regularizers.l1()、tf.keras.regularizers.l2()
    • LSTM层:tf.keras.layers.LSTM()

    model.compile(optimizer=“优化器”, loss=损失函数, metrics=[“准确率”])

    optimizer 可选:

    • ‘sgd’ or tf.keras.optimizers.SGD(lr=学习率, momentum=动量参数)
    • ‘adagrad’ or tf.keras.optimizers.Adagrad(lr=学习率)
    • ‘adadelta’ or tf.keras.optimizers.Adadelta(lr=学习率)
    • ‘adam’ or tf.keras.optimizers.Adam(lr=学习率, beta_1=0.9, beta_2=0.999)

    loss 可选:

    • ‘mse’ or tf.keras.losses.MeanSquaredError()
    • ‘sparse_categorical_crossentropy’ or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)

    metrics(网络评测指标) 可选:

    • ‘accuracy’: y_ 和 y 都是数值,如 y_=[1], y=[1]
    • ‘categorical_accuracy’: y_ 和 y 都是独热码(概率分布),如 y_=[0,1,0], y=[0.256,0.695,0.048]
    • ‘sparse_categorical_accuracy’: y_ 是数值,y 是独热码(概率分布),如 y_ = [1], y=[0.256,0.695,0.048]

    model.fit(训练集的输入特征, 训练集的标签, batch_size= , epochs= , validation_data=(), validation_split=从训练集划分多少比例给测试集, validation_freq=多少次 epoch 测试一次)

    model.summary() 可以打印出网络的结构和参数统计

  • 相关阅读:
    Vue部分重要知识点
    iOS 16 中 SwiftUI 4.0 轻松实现导航栏标题可编辑
    判断一个字符串是否为另外一个字符串旋转之后的字符串
    基于学生成绩管理系统(附源代码及数据库)
    LeetCode刷题笔记-749. 隔离病毒-模拟+搜索
    ubuntu扩大运行内存, 防止编译卡死
    Apache Commons Collections反序列化链分析(二)
    SIP对讲应用
    Modern C++
    python使用泛型
  • 原文地址:https://blog.csdn.net/lele_ne/article/details/126697549