Как правильно обновить файл контрольной точки в tenorflow
Добрый день,
Я тренирую нейронную сеть и храню контрольные точки с множеством разных глобальных шагов. В папке также хранится один файл с именем контрольной точки. К сожалению, после одного сеанса контрольная точка переопределяется и не обновляется новым сеансом, поэтому, если у меня, например, сначала было 10 контрольных точек, а второй раз я тренируюсь до пятой контрольной точки, файл контрольных точек изменяет информацию о предыдущих 10 контрольных точках, исчезает. Как я могу обновить и не перезаписать файл контрольных точек? Я сейчас создаю сессию, затем делаю следующее
saver = tf.train.Saver(max_to_keep=max_num_checkpoints)
if reco["retrain"]==False:
print("Starting training from the beginning")
train_start = 0
elif tf.train.checkpoint_exists(sessSavePath +"/primDual.ckpt-%s"%(train_start-1)):
print("Starting from the previous training point " + str(train_start-1))
saver.restore(self.sess,
sessSavePath +"/primDual.ckpt-%s"%(train_start-1))
#elif tf.train.checkpoint_exists(sessSavePath + "/" )
Поэтому я либо переучиваю cnn с самого начала, либо восстанавливаю с другой контрольной точки. Затем я сохраняю все необходимые контрольные точки с
for i in range(train_start, n_train):
tren hard eat clen
if i>0 and ((i%10 == 0 or i==n_train-1) or i<11 ):
saver.save(self.sess,
sessSavePath +"/primDual.ckpt",global_step=global_step)
Обычно, когда выполняется очень длинный сеанс, я могу восстановить созданные им контрольные точки до этого момента в сеансе с помощью get_checkpoint_state, но не могу добавить другие контрольные точки в файл (например, некоторые глобальные шаги, которые я ранее не выбирал для сохранения ранее).).