TensorFlow 训练模型保存四个文件

 if mAP > best_mAP:
                best_mAP = mAP
                saver_best.save(sess, args.save_dir + 'best_model_Epoch_{}_step_{}_mAP_{:.4f}_loss_{:.4f}_lr_{:.7g}'.format(
                                   epoch, int(__global_step), best_mAP, val_loss_total.average, __lr)) 

如上部分代码,当训练结果比预设的best_mAP好,则保存此时的TensorFlow 训练模型,此时,在第几个epoch,第几个global_step,最好的best_mAP值,平均验证损失val_loss_total.average,lr。

tf.train.Saver().save(sess, 'ckpts/')在ckpts/ 路径下主要保存四个文件checkpoint:

checkpoint:model.ckpt.data-00000-of-00001: 某个ckpt的数据文件,保存每个变量的取值,保存的是网络的权值,偏置,操作等等。

model.ckpt.index :某个ckpt的index文件 二进制 或者其他格式 不可直接查看 。是一个不可变得字符串表,每一个键都是张量的名称,它的值是一个序列化的BundleEntryProto。 每个BundleEntryProto描述张量的元数据:“数据”文件中的哪个文件包含张量的内容,该文件的偏移量,校验和,一些辅助数据等等。

model.ckpt.meta:某个ckpt的meta数据  二进制 或者其他格式 不可直接查看,保存了TensorFlow计算图的结构信息。model.ckpt-200.meta文件保存的是图结构,通俗地讲就是神经网络的网络结构。一般而言网络结构是不会发生改变,所以可以只保存一个就行了。我们可以使用下面的代码只在第一次保存meta文件。

checkpoint:记录训练较好的几次训练结果

本人训练后的checkpoint文件内容,如下(Epoch 26,30,34,94,98,):

model_checkpoint_path: "best_model_Epoch_98_step_50291_mAP_0.7358_loss_3.6063_lr_1e-05"
all_model_checkpoint_paths: "best_model_Epoch_26_step_13715_mAP_0.7163_loss_3.3344_lr_0.0001"
all_model_checkpoint_paths: "best_model_Epoch_30_step_15747_mAP_0.7211_loss_3.3941_lr_0.0001"
all_model_checkpoint_paths: "best_model_Epoch_34_step_17779_mAP_0.7317_loss_3.3543_lr_3e-05"
all_model_checkpoint_paths: "best_model_Epoch_94_step_48259_mAP_0.7328_loss_3.5932_lr_1e-05"
all_model_checkpoint_paths: "best_model_Epoch_98_step_50291_mAP_0.7358_loss_3.6063_lr_1e-05"

模型加载需要利用Saver.restore方法。可以加载固定参数,也可以加在所有参数。

    tf.train.Saver.restore(sess,model_path)

训练过程保存了大量tensorflow模型 :

-4.2$ ls
best_model_Epoch_10_step_5664_mAP_0.0729_loss_8.1562_lr_0.0001.data-00000-of-00001
best_model_Epoch_10_step_5664_mAP_0.0729_loss_8.1562_lr_0.0001.index
best_model_Epoch_10_step_5664_mAP_0.0729_loss_8.1562_lr_0.0001.meta
best_model_Epoch_12_step_6694_mAP_0.0748_loss_7.4896_lr_0.0001.data-00000-of-00001
best_model_Epoch_12_step_6694_mAP_0.0748_loss_7.4896_lr_0.0001.index
best_model_Epoch_12_step_6694_mAP_0.0748_loss_7.4896_lr_0.0001.meta
best_model_Epoch_16_step_8754_mAP_0.0775_loss_7.6105_lr_0.0001.data-00000-of-00001
best_model_Epoch_16_step_8754_mAP_0.0775_loss_7.6105_lr_0.0001.index
best_model_Epoch_16_step_8754_mAP_0.0775_loss_7.6105_lr_0.0001.meta
best_model_Epoch_20_step_10814_mAP_0.0715_loss_8.2555_lr_0.0001.data-00000-of-00001
best_model_Epoch_20_step_10814_mAP_0.0715_loss_8.2555_lr_0.0001.index
best_model_Epoch_20_step_10814_mAP_0.0715_loss_8.2555_lr_0.0001.meta
best_model_Epoch_24_step_12874_mAP_0.0717_loss_8.5067_lr_0.0001.data-00000-of-00001
best_model_Epoch_24_step_12874_mAP_0.0717_loss_8.5067_lr_0.0001.index
best_model_Epoch_24_step_12874_mAP_0.0717_loss_8.5067_lr_0.0001.meta
best_model_Epoch_26_step_13715_mAP_0.7163_loss_3.3344_lr_0.0001.data-00000-of-00001
best_model_Epoch_26_step_13715_mAP_0.7163_loss_3.3344_lr_0.0001.index
best_model_Epoch_26_step_13715_mAP_0.7163_loss_3.3344_lr_0.0001.meta
best_model_Epoch_26_step_13904_mAP_0.0726_loss_8.5469_lr_0.0001.data-00000-of-00001
best_model_Epoch_26_step_13904_mAP_0.0726_loss_8.5469_lr_0.0001.index
best_model_Epoch_26_step_13904_mAP_0.0726_loss_8.5469_lr_0.0001.meta
best_model_Epoch_26_step_13904_mAP_0.0788_loss_7.9227_lr_0.0001.data-00000-of-00001
best_model_Epoch_26_step_13904_mAP_0.0788_loss_7.9227_lr_0.0001.index
best_model_Epoch_26_step_13904_mAP_0.0788_loss_7.9227_lr_0.0001.meta
best_model_Epoch_28_step_14731_mAP_0.7189_loss_3.2645_lr_0.0001.data-00000-of-00001
best_model_Epoch_28_step_14731_mAP_0.7189_loss_3.2645_lr_0.0001.index
best_model_Epoch_28_step_14731_mAP_0.7189_loss_3.2645_lr_0.0001.meta
best_model_Epoch_30_step_15747_mAP_0.7211_loss_3.3941_lr_0.0001.data-00000-of-00001
best_model_Epoch_30_step_15747_mAP_0.7211_loss_3.3941_lr_0.0001.index
best_model_Epoch_30_step_15747_mAP_0.7211_loss_3.3941_lr_0.0001.meta
best_model_Epoch_30_step_15747_mAP_0.7310_loss_3.4142_lr_0.0001.data-00000-of-00001
best_model_Epoch_30_step_15747_mAP_0.7310_loss_3.4142_lr_0.0001.index
best_model_Epoch_30_step_15747_mAP_0.7310_loss_3.4142_lr_0.0001.meta
best_model_Epoch_30_step_15964_mAP_0.0797_loss_8.0055_lr_0.0001.data-00000-of-00001
best_model_Epoch_30_step_15964_mAP_0.0797_loss_8.0055_lr_0.0001.index
best_model_Epoch_30_step_15964_mAP_0.0797_loss_8.0055_lr_0.0001.meta
best_model_Epoch_32_step_16763_mAP_0.7343_loss_3.3788_lr_0.0001.data-00000-of-00001
best_model_Epoch_32_step_16763_mAP_0.7343_loss_3.3788_lr_0.0001.index
best_model_Epoch_32_step_16763_mAP_0.7343_loss_3.3788_lr_0.0001.meta
best_model_Epoch_34_step_17779_mAP_0.7317_loss_3.3543_lr_3e-05.data-00000-of-00001
best_model_Epoch_34_step_17779_mAP_0.7317_loss_3.3543_lr_3e-05.index
best_model_Epoch_34_step_17779_mAP_0.7317_loss_3.3543_lr_3e-05.meta
best_model_E
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值