用 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([网络结构]) # 描述各层网络

网络结构举例:

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值