Сохраняются ли переменные при экспорте в Оценщик Tensorflow? - PullRequest
0 голосов
/ 22 июня 2019

Сохраняются ли значения переменных (например, нормализация партии moving_mean и moving_variance) при экспорте Оценщика?(например, с BestExporter)

В настоящее время я экспортирую модель:

best_exporter = tf.estimator.BestExporter(
        name=best_model_path,
        serving_input_receiver_fn=serving_input_receiver_fn,
        exports_to_keep=1)
exporter = [best_exporter]

train_spec = tf.estimator.TrainSpec(...)
eval_spec = tf.estimator.EvalSpec(...,
    exporters=exporter)

tf.estimator.train_and_evaluate(ben_classifier, train_spec, eval_spec)

Во время обучения я добавляю операции обновления для BatchNormalization в операцию обучения

optimizer = tf.train.RMSPropOptimizer(learning_rate=L_RATE)
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)

with tf.control_dependencies(update_ops):
    train_ops = optimizer.minimize(loss=loss, global_step=tf.train.get_global_step())

return tf.estimator.EstimatorSpec(mode=mode, loss=loss, train_op=train_ops)

Восстановление с помощью tf.contrib.predictor.from_saved_model не позволяет проверить значения переменных.Итак, мой вопрос, есть ли способ проверить это?И если да, то как можно сохранить эти переменные BN во время экспорта?

Моя успеваемость во время вывода намного хуже, чем во время обучения и оценки.Я отказался от опции переоснащения, потому что это очень простая сеть и, кроме того, выполнение прогнозов непосредственно с использованием модели оценки в конце обучения (или, как правило, последней) приведет к лучшей производительности, чем лучшая модель.

...