이 포스트는 Github 접속 제약이 있을 경우를 위한 것이며, 아래와 동일 내용을 실행 결과와 함께 Jupyter notebook으로도 보실 수 있습니다.
You can also see the following as Jupyter notebook along with execution result screens if you have no trouble connecting to the Github.

1. Customer Graph 및 Session 저장

  • tf1.x와 tf2.x 일부 호환됨
import tensorflow as tf

cg = tf.Graph()
sess = tf.Session(graph = cg)


with cg.as_default():

    a = tf.Variable(3)
    b = tf.Variable(5)
    c = a + b
    
    sess.run(tf.global_variables_initializer())
    
    #모델 저장 시 별도의 saver를 만들어준다.
    saver = tf.train.Saver()
    
    for step in range(3):
        ckpt_path = saver.save(sess,'saved/my_test_sess', step)
        
        print("ckpt file:", ckpt_path)
    
    writer = tf.summary.FileWriter("./log", sess.graph)

    
print(sess.run(c))

2. Checkpoint State Protocol Buffer

  • tf.train.get_checkpoint_state(saved_dir_path) : 지정 폴더에서 모든 파일 읽어옴
  • tf.train.latest_checkpoint(saved_dir_path) : 지정 폴더에 가장 최신 파일만 읽어옴

2-1. tf.train.get_checkpoint_state(saved_dir_path)

ckpt_state = tf.train.get_checkpoint_state("saved")

print(type(ckpt_state))
print(ckpt_state)
  • model_checkpoint_path : 가장 최근 ckp
    ckpt_state.model_checkpoint_path
    
  • all_model_checkpoint_paths : 모든 ckp를 list로 보여줌
    ckpt_state.all_model_checkpoint_paths
    

2-2. tf.train.latest_checkpoint(saved_dir_path)

recent_ckpt_job_path = tf.train.latest_checkpoint("saved")

recent_ckpt_job_path