Я использовал диспетчер tensorflow (https://www.tensorflow.org/programmers_guide/supervisor) для загрузки модели из сохраненных контрольно-пропускных пунктов для обучения и работы в сети. Но я заметил, что файлы контрольных точек обновляются даже при запуске/оценке модели (временные метки файлов graph.pbtxt, model.ckpt.data обновляются и создаются новые events.out).Контролер Tensorflow для тренировочных и оценочных операций?
Это заставляет меня задаться вопросом, использует ли диспетчер для запуска/оценки модели сбрасывает/изменяет состояние обучения? Целесообразно ли использовать супервизор для чего-либо, кроме обучения?
Поезд -
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
if not sv.should_stop():
train_step.run(feed_dict={x: xtrain, y_: ytrain, keep_prob: 0.5}, session= sess)
Run/Оценить только. Мы не хотим, чтобы ниже, чтобы изменить состояние обученной модели
sv = tf.train.Supervisor(logdir=mylogdir)
with sv.managed_session() as sess:
for yconv in sess.run(y_conv, feed_dict={x: xtest, keep_prob: 1.0}):
#use yconv to predict, evaluate etc.
Спасибо. Код оценки изменяет временную метку файла model.ckpt. Почему это? – Achilles
Посмотреть последнее редактирование, не помогает ли это? – yuval
Спасибо, да. Я беспокоюсь о данных обучения (я предполагаю, что они хранятся в файлах модели *). Оценка - 'yconv in sess.run (y_conv, feed_dict = {x: xtest, keep_prob: 1.0}):' - кажется, обновляет эти файлы модели * (по крайней мере, их временные метки), мне интересно, почему и если изменения влияют на обучение данные, хранящиеся в файлах. В идеале, он должен просто обращаться к ним в режиме readonly. Спасибо за предложение об использовании другого каталога, я мог бы попробовать это и с некоторым промежуточным процессом, который копирует обученную модель для оценки (но я надеюсь, что она работает без нее). – Achilles