Как попасть в график точности TensorBoard при использовании модели керас с tf.estimator? - PullRequest
2 голосов
/ 07 марта 2019

Я строю модель, используя керасы с TensorFlow 1.12.После (или во время) обучения модели с помощью Tensorboard я могу видеть распределение точности и потерь в зависимости от числа эпох.

при использовании модели keras и преобразовании ее в model_to_estimator accuracy, а потери не сохраняются в events.out.tfevents.xxxxxxxxxx (используется TensorBoard для визуализации).Я использую tf.estimator.train() или tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec), и в обоих случаях я получаю только:

dict_keys(['global_step/sec', 'loss_1'])

с использованием tf.estimator.train() Я ожидаю потери и точность в events.out.tfevents.xxxxxxxxxx для набора обучающих данных

используя tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec) Я ожидаю потери и точность в events.out.tfevents.xxxxxxxxxx для набора данных обучения и набора данных тестирования.

Информация вычисляется и отображается в лог-файлах:

INFO:tensorflow:Done running local_init_op.
INFO:tensorflow:Evaluation [10/100]
INFO:tensorflow:Evaluation [20/100]
INFO:tensorflow:Evaluation [30/100]
INFO:tensorflow:Evaluation [40/100]
INFO:tensorflow:Evaluation [50/100]
INFO:tensorflow:Evaluation [60/100]
INFO:tensorflow:Evaluation [70/100]
INFO:tensorflow:Finished evaluation at 2019-03-16-12:28:05
INFO:tensorflow:Saving dict for global step 1000: accuracy = 0.9766614, global_step = 1000, loss = 0.074898034
INFO:tensorflow:Saving 'checkpoint_path' summary for global step 1000: results/Models/Mnist/tf_1_12/estimator/ckpt/model.ckpt-1000

Как можноЯ добавляю некоторые метрики, когда я конвертирую модель keras в оценщик?Если я возвращаю оценку напрямую, мне просто нужно добавить tf.summary.scalar('accuracy', accuracy[1]).Я не смог ничего найти.

Когда я использую ту же модель кераса и использую метод подгонки, я получил в файле events.out.tfevents.xxxxxxxxxx:

dict_keys(['batch_acc', 'batch_loss', 'epoch_acc', 'epoch_loss', 'epoch_val_acc', 'epoch_val_loss'])

Я получил6 переменных, включая точность и потери для обучающего и тестового набора данных.Это то, чего я ожидаю.

Ожидается ли это?Без такой информации в TensorBoard невозможно увидеть, подходит ли модель или нет.Я даже не уверен, какая информация отображается в лог-файле, верно?

Есть идеи?

РЕДАКТИРОВАТЬ:
Теперь я уверен, что это ошибка / или функция.Я открыл тикет:
https://github.com/tensorflow/tensorflow/issues/26804

и увидел аналогичный с августа 2018 года:
https://github.com/tensorflow/tensorflow/issues/21983

Следующие шаги - посмотреть, работает ли это с Tensorflow 2.0, так какздесь, Keras officialy - API высокого уровня.Я построил модель, используя слои tf.estimator и keras, и я мог добавить и увидеть точность и потерю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...