Я строю модель, используя керасы с 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, и я мог добавить и увидеть точность и потерю.