• 用 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() 可以打印出网络的结构和参数统计

  • 相关阅读:
    Python编程基础(华为在线课程)
    【SpringBoot集成Redis + Session持久化存储到Redis】
    记录一次线上内存溢出排查详细过程
    深入探索STARK的安全性和可靠性——STARKs全面安全分析
    文档管理系统:攻克这3个痛点,解决80%企业文档管理难题
    21天学习挑战赛-《Autosar从入门到精通-实战篇》
    Spring Boot对接RocketMQ示例
    Linux操作系统第一讲
    Servlet
    IPv4用的好好的,为什么我们要换IPv6?
  • 原文地址:https://blog.csdn.net/lele_ne/article/details/126697549