2017-12-05 19 views
0
私はこの方法でそれをやったこの link

tensorflowは、いくつかのエポックの後に遅くなる

から各エポックの終わりに私のモデルを保存したい

割引:

for ep_num in range(num_epochs): 
     model_dir = "{0}/epoch_{1}/".format(train_dir, epoch_num) 
     model_meta_file_name = [each for each in 
     os.listdir(model_dir) if each.endswith('.meta')][0] 
     meta_path="{0}/{1}".format(model_dir, model_meta_file_name) 
     saver = tf.train.import_meta_graph(meta_path) 
     saver.restore(sess, tf.train.latest_checkpoint(model_dir)) 

をしてて、私のモデルを評価し続ける:

model_dir = "{0}/epoch_{1}/res".format(train_dir, epoch_num) 
saver.save(sess, model_dir, global_step=global_step_val) 

復元評価データ。

しかし、私の評価プロセスは非常に遅くなる、私は いくつかの余分なものを節約していると思うし、いくつかのエポックの後に私のグラフは非常に 大きいです。これをどうすれば解決できますか?

ワンポイント:GPU使用率はほぼゼロ。この評価の間 process.Iは、いくつかのエポックの後に何らかの理由であちこちに考えている、私のプロセスは GPU

答えて

0

saver = tf.train.import_meta_graph(meta_path)

にこのラインを実行noyt一度だけ実行する必要がありますありません。 。あらゆる時代にそれを呼び出すと、グラフに新しい操作が追加されるため、評価が遅くなります。

+0

@ Siyuan Ren したがって、複数のメタグラフを保存する必要はありませんか? –

関連する問題