tensorflowモデルテスト時のNotFoundErrorエラー解決方法

2380 ワード

エラーコードは次のとおりです.
NotFoundError (see above for traceback): Unsuccessful TensorSliceReader constructor: 

Failed to find any matching files for xxx
……

調査資料の分析によると、エラーの原因はモデルのロード時のパスの問題である可能性があります.モデルのロード方法:
with tf.Session() as sess:
     print("Reading checkpoints...")
     ckpt = tf.train.get_checkpoint_state(logs_train_dir)
     if ckpt and ckpt.model_checkpoint_path:
         global_step = ckpt.model_checkpoint_path.split('/')                                         [-1].split('-')[-1]
         saver.restore(sess, ckpt.model_checkpoint_path)
         print('Loading success, global_step is %s' % global_step)
     else:
         print('No checkpoint file found')

モデルを保存する際に使用する方法は
saver = tf.train.Saver()
……
……
……
if step % 1000 == 0 or (step + 1) == MAX_STEP:
   checkpoint_path = os.path.join(logs_train_dir, './model.ckpt')
   saver.save(sess, checkpoint_path, global_step=step)

コードブロックの./model.ckptに注意してください.これはキーです.model.ckptだったらエラーが発生します.モデルをロードするときにモデルファイルを直接ロードする方法を使用する場合は、前のコードを変更します.
saver.restore(sess,'model.ckpt')

変更後のコード:
saver.restore(sess,'./model.ckpt')

私の直してからは何の問題もありません.もしこの方法であなたの問題を解決できないなら、資料を調べて解決しましょう.