์ด 3๊ฐ์ ์ฝ๋๋ฅผ ๊ฐ๊ฐ ์คํํ์ฌ ํ ์คํธํ์ต๋๋ค.
๋จผ์ ์ผ๋ถ ๋ณ์๋ฅผ ์ด๊ธฐํํ๊ณ ์ ์ฅํฉ๋๋ค.
import tensorflow as tf
sess = tf.InteractiveSession()
v1 = tf.Variable(1,name="v1")
v2 = tf.Variable(2,name="v2")
sess.run(tf.initialize_all_variables())
saver = tf.train.Saver()
saver.save(sess,'v12.ckpt')
๊ทธ๋ฐ ๋ค์ ์ธ์ ์ ๋ณต์ํ๊ณ ๋ณ์๋ฅผ ํ๋ ๋ ์ถ๊ฐํ๊ณ ์ ์ฅํฉ๋๋ค.
import tensorflow as tf
sess = tf.InteractiveSession()
v1 = tf.Variable(1,name="v1")
v2 = tf.Variable(2,name="v2")
saver = tf.train.Saver()
saver.restore(sess,'v12.ckpt') #works fine here
v3 = tf.Variable(3,name="v3")
sess.run(tf.initialize_variables([v3]))
saver.save(sess,'v123.ckpt')
print v3.eval() #show value without problem
๊ทธ๋ฐ ๋ค์ ๋ณต์ํ์ญ์์ค.
import tensorflow as tf
sess = tf.InteractiveSession()
v1 = tf.Variable(1,name="v1")
v2 = tf.Variable(2,name="v2")
v3 = tf.Variable(3,name="v3")
saver = tf.train.Saver()
saver.restore(sess,'v123.ckpt') #error here
์ด๊ฒ์ ์ค๋ฅ์ ๋๋ค:
tensorflow.python.framework.errors.NotFoundError: Tensor name "v3" not found in checkpoint files v123.ckpt [[Node: save/restore_slice_2 = RestoreSlice[dt=DT_INT32, preferred_shard=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/restore_slice_2/tensor_name, save/restore_slice_2/shape_and_slice)]] Caused by op u'save/restore_slice_2'
์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋ฌด์์ ๋๊น?
Ubuntu16.04์์ ๋ฒ์ r0.8์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ธ์ ์์ด tf.train.Saver
๋ฅผ ์์ฑํ๋ฉด ์ ์ฅํ๊ณ ๋ณต์ํ ๋ _Saver ์์ฑ ์_ ํ์ฌ ๋ณ์ ์ธํธ๋ฅผ ์์์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ(์: ๋ ๋ฒ์งธ ์ฝ๋ ๋ธ๋ก์ v3
), ์ด๋ฅผ ์ ์ฅํ๋ ค๋ฉด ์ tf.train.Saver
๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
import tensorflow as tf
sess = tf.InteractiveSession()
v1 = tf.Variable(1,name="v1")
v2 = tf.Variable(2,name="v2")
saver = tf.train.Saver()
saver.restore(sess,'v12.ckpt') #works fine here
v3 = tf.Variable(3,name="v3")
sess.run(tf.initialize_variables([v3]))
saver_with_v3 = tf.train.Saver()
saver_with_v3.save(sess,'v123.ckpt')
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ธ์ ์์ด
tf.train.Saver
๋ฅผ ์์ฑํ๋ฉด ์ ์ฅํ๊ณ ๋ณต์ํ ๋ _Saver ์์ฑ ์_ ํ์ฌ ๋ณ์ ์ธํธ๋ฅผ ์์์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ(์: ๋ ๋ฒ์งธ ์ฝ๋ ๋ธ๋ก์v3
), ์ด๋ฅผ ์ ์ฅํ๋ ค๋ฉด ์tf.train.Saver
๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.