Как показатели функций агрегируются по пакетам при проверке модели тензорного потока? - PullRequest
0 голосов
/ 07 мая 2020

В тензорном потоке tf.keras.Model.compile вы можете передать функцию lambda y_true, y_pred: val как метрику c (хотя, похоже, это не задокументировано), но я спросил себя: «Как он агрегирует ее по партиям»?

Я искал документацию, но нигде не нашел, как это делается?

Между прочим, я даже не знаю, является ли это поведение undefined, и вместо этого нужно подкласс класса Metri c? (или, по крайней мере, предоставьте требуемые методы).

Кроме того, уместно ли передавать потерю как метрику c (и в данном случае тот же вопрос: как она агрегируется по партиям?)

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Это просто среднее значение по партиям. Я не думаю, что это неопределенное поведение.

0 голосов
/ 07 мая 2020

Чтобы понять, «Как происходит агрегирование (я предполагаю, что это отображается в индикаторе выполнения)», я предлагаю вам проверить tf.keras.utils.Progbar. Агрегация по партиям выполняется, когда вы используете model.fit, а не model.compile.

Используется ли lambda как потеря или метри c неопределенное поведение? No, if defined properely. Если вы неправильно напишете лямбда-выражение, TensorFlow выдаст исключение.

Используется ли lambda как потеря или метри c рекомендуется? Nope. Есть причина, по которой TensorFlow предоставляет для них отдельные классы. Расширение встроенных классов упрощает другие части конвейера, такие как сохранение или загрузка моделей. Это также делает код более читабельным.

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