이 포스트는 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