TensorFlow中获取检查点状态的方法:tf.train.get_checkpoint_state

tf.train.get_checkpoint_state函数通过checkpoint文件找到模型文件名。

tf.train.get_checkpoint_state(checkpoint_dir,latest_filename=None)

该函数返回的是checkpoint文件CheckpointState proto类型的内容,其中有model_checkpoint_path和all_model_checkpoint_paths两个属性。其中model_checkpoint_path保存了最新的tensorflow模型文件的文件名,all_model_checkpoint_paths则有未被删除的所有tensorflow模型文件的文件名。

下图是在训练过程中生成的几个模型文件列表:

【tensorflow】tf.train.get_checkpoint_state_文件名


以下是测试程序里的部分代码:

   with tf.Session() as sess:            
                ckpt=tf.train.get_checkpoint_state('Model/')
                print(ckpt)
                if ckpt and ckpt.all_model_checkpoint_paths:
                    #加载模型
                    #这一部分是有多个模型文件时,对所有模型进行测试验证
                    for path in ckpt.all_model_checkpoint_paths:
                        saver.restore(sess,path)                
                        global_step=path.split('/')[-1].split('-')[-1]
                        accuracy_score=sess.run(accuracy,feed_dict=validate_feed)
                        print("After %s training step(s),valisation accuracy = %g"%(global_step,accuracy_score))
                    '''
                    #对最新的模型进行测试验证
                    saver.restore(sess,ckpt.model_checkpoint_paths)                
                    global_step=ckpt.model_checkpoint_path.split('/')[-1].split('-')[-1]
                    accuracy_score=sess.run(accuracy,feed_dict=validate_feed)
                    print("After %s training step(s),valisation accuracy = %g"%(global_step,accuracy_score))
                    '''
                else:
                    print('No checkpoint file found')
                    return
            #time.sleep(eval_interval_secs)
            return

在上面代码中,通过tf.train.get_checkpoint_state函数得到的相关模型文件名如下:

【tensorflow】tf.train.get_checkpoint_state_文件名_02


对所有模型进行测试,得到:

【tensorflow】tf.train.get_checkpoint_state_函数返回_03



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关推荐
技术文档
QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空