рдореИрдВрдиреЗ рдХреНрд░рдорд╢рдГ рдХреЛрдб рдХреЗ рдЗрди 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
рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реЗрд╡рд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп _рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдЬрдм рдпрд╣ рд╕рд╣реЗрдЬрддрд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рдЪрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 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
рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реЗрд╡рд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп _рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдЬрдм рдпрд╣ рд╕рд╣реЗрдЬрддрд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ рдЪрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПv3
рдЕрдкрдиреЗ рджреВрд╕рд░реЗ рдХреЛрдб рдмреНрд▓реЙрдХ рдореЗрдВ), рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛tf.train.Saver
рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред