Я тестирую возможность сохранить модель, а затем восстановить ее в другом экземпляре python. Для этого я использую этот код для сохранения модели:
saver = tf.train.Saver([weights0,weights1,weights2,syn0,bias0,syn1,bias1],max_to_keep = 2)
saver.save(sess, '..\\places365_TFG\\models\\CNNFinalModel', global_step=l)
А потом в другом экземпляре Python я делаю это:
new_saver = tf.train.import_meta_graph('..\\places365_TFG\\models\\CNNFinalModel-67.meta')
new_saver.restore(sess,
tf.train.latest_checkpoint('..\\places365_TFG\\models\\./'))
graph = tf.get_default_graph()
weights0 = graph.get_tensor_by_name("weights0:0")
Чтобы проверить, хорошо ли восстановлено значение weights0, я делаю:
sess.run(weights0)
Переменная weights0 была инициализирована следующим образом:
def weight_variable(shape,name):
initial = tf.truncated_normal(shape, stddev=0.1, name=name)
return tf.Variable(initial)
weights0 = weight_variable([3,3,3,16], name='weights0')
Проблема, которую я вижу, заключается в том, что каждый раз, когда я выполняю это, значение weigths0 изменяется. Я полагаю, это потому, что определяется как переменная, но я хочу сохранить значение, сохраненное в исходной нейронной сети.
Как я могу это сделать?
Заранее спасибо.