zoukankan      html  css  js  c++  java
  • Keras函数——keras.callbacks.ModelCheckpoint()及模型的训练

    keras.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1)

      在每个epoch后保存模型到filepath。

      参数:

    •  filepath: 保存模型的路径。
    •  monitor: 被监测的数据。val_acc或val_loss。
    •  verbose: 详细信息模式,0 或者1。0为不打印输出信息,1为打印。
    •  save_best_only: 如果save_best_only=True,将只保存在验证集上性能最好的模型mode: {auto, min, max} 的其中之一。 如果save_best_only=True,那么是否覆盖保存文件的决定就取决于被监测数据的最大或者最小值。 对于val_acc,模式就会是max;而对于      val_loss,模式就需要是min。在auto模式中,方式会自动从被监测的数据的名字中判断出来。
    •  save_weights_only: 如果 True,那么只有模型的权重会被保存 (model.save_weights(filepath)), 否则的话,整个模型会被保存 (model.save(filepath))。
    •  period: 每个检查点之间的间隔(训练轮数)。

      训练过程:

      1、从keras.callbacks导入ModelCheckpoint类

    from keras.callbacks import ModelCheckpoint

      2、在训练阶段的model.compile之后加入下列代码实现每一次epoch(period=1)保存最好的参数

    checkpoint = keras.callbacks.ModelCheckpoint(filepath,
        monitor='val_loss', save_weights_only=True,verbose=1,save_best_only=True, period=1)

      3、在训练阶段的model.fit之前加载先前保存的参数

    if os.path.exists(filepath):
        model.load_weights(filepath)
        # 若成功加载前面保存的参数,输出下列信息
        print("checkpoint_loaded")

      4、在model.fit添加callbacks=[checkpoint]实现回调

    model.fit_generator(data_generator_wrap(lines[:num_train], batch_size, input_shape, anchors, num_classes),
            steps_per_epoch=max(1, num_train//batch_size),
            validation_data=data_generator_wrap(lines[num_train:], batch_size, input_shape, anchors, num_classes),
            validation_steps=max(1, num_val//batch_size),
            epochs=,
            initial_epoch=0,
            callbacks=[checkpoint])
  • 相关阅读:
    机器学习——逻辑回归(Logistic Regression)
    [BUUCTF]PWN4——pwn1_sctf_2016
    [BUUCTF]PWN1——test_your_nc
    [BUUCTF]PWN2——rip
    vuex状态管理详细使用方法
    微信小程序入门
    条件渲染vue
    vue-cli安装方法
    JavaScript逻辑运算符
    JavaScript的基本介绍
  • 原文地址:https://www.cnblogs.com/Johnny-z6951/p/11272406.html
Copyright © 2011-2022 走看看