2017-02-14 17 views
1

У меня есть простая нейронная сеть с использованием Tensorflow. Вот сессия:Модель перестройки в Tensorflow

with tensorFlow.Session() as sess: 
    sess.run(tensorFlow.global_variables_initializer()) 
    for epoch in range(epochs): 
    i = 0 
    epochLoss = 0 
    for _ in range(int(len(data)/batchSize)): 
     ex, ey = nextBatch(i) 
     i += 1 
     feedDict = {x :ex, y:ey } 
     _, cos = sess.run([optimizer,cost], feed_dict= feedDict) 
     epochLoss += cos/(int(len(data))/batchSize) 
    print("Epoch", epoch + 1, "completed out of", epochs, "loss:", "{:.9f}".format(epochLoss)) 

    save_path = saver.save(sess, "model.ckpt") 
    print("Model saved in file: %s" % save_path) 

на последних 2-х строк я сохранил модель и восстановить график в другом классе:

with new_graph.as_default(): 
    with tf.Session(graph=new_graph) as sess: 
     sess.run(tf.global_variables_initializer()) 
     new_saver = tf.train.import_meta_graph('model.ckpt.meta') 
     new_saver.restore(sess, tf.train.latest_checkpoint('./')) 

Я хочу переучивать модель, которая означает не инициализировать веса, просто чтобы обновить их с последней точки, в которой он остановился.

Как я могу это сделать?

+0

этот вопрос действительно о сохранении и восстановлении моделей. – vin

ответ

2

От https://www.tensorflow.org/api_docs/python/state_ops/saving_and_restoring_variables

tf.train.Saver.restore (Sess, save_path)

Восполнение ранее сохраненные переменные.

Этот метод запускает операторы, добавленные конструктором для восстановления переменных . Для этого требуется сеанс, в котором был запущен график. Переменные для восстановления не обязательно должны быть инициализированы, так как восстановление - это способ инициализации переменных.

Следующий пример из https://www.tensorflow.org/how_tos/variables/

# Create some variables. 
v1 = tf.Variable(..., name="v1") 
v2 = tf.Variable(..., name="v2") 
... 
# Add ops to save and restore all the variables. 
saver = tf.train.Saver() 

# Later, launch the model, use the saver to restore variables from disk, and 
# do some work with the model. 
with tf.Session() as sess: 
    # Restore variables from disk. 
    saver.restore(sess, "/tmp/model.ckpt") 
    print("Model restored.") 
    # Do some work with the model 
    ... 
+0

также проверьте документацию http://stackoverflow.com/documentation/tensorflow/5000/save-and-restore-a-model-in-tensorflow#t=201702141422547905443 – kaufmanu