Spec-Zone.ru › TensorFlow

tf.keras.metrics.OneHotMeanIoU

Вычисляет метрику среднего пересечения над объединением (IoU) для меток, закодированных в формате one-hot.

Наследуется от: MeanIoU, IoU, Metric

tf.keras.metrics.OneHotMeanIoU(
    num_classes,
    name=None,
    dtype=None,
    ignore_class=None,
    sparse_y_pred=False,
    axis=-1
)

Формула:

iou = true_positives / (true_positives + false_positives + false_negatives)

Пересечение над объединением — распространённая метрика оценки семантической сегментации изображений.

Для вычисления IoU прогнозы накапливаются в матрице ошибок с весами sample_weight, после чего по этой матрице рассчитывается метрика.

Если sample_weight равно None, по умолчанию используются веса 1. Используйте значение sample_weight, равное 0, чтобы маскировать значения.

Этот класс можно использовать для вычисления среднего IoU в задачах многоклассовой классификации, где метки закодированы в формате one-hot (последняя ось должна содержать по одному измерению на класс). Обратите внимание, что прогнозы также должны иметь ту же форму. Чтобы вычислить среднее IoU, сначала метки и прогнозы преобразуются обратно в целочисленный формат путём применения argmax по оси классов. Затем выполняются те же шаги вычисления, что и для базового класса MeanIoU.

Обратите внимание: если в метках и прогнозах только один канал, этот класс эквивалентен классу MeanIoU. В этом случае используйте вместо него MeanIoU.

Также убедитесь, что num_classes равно количеству классов в данных, чтобы при вычислении матрицы ошибок избежать ошибки «метки выходят за границы диапазона».

Аргументы
num_classes Возможное количество меток в задаче прогнозирования.
name (Необязательно) строковое имя экземпляра метрики.
dtype (Необязательно) тип данных результата метрики.
ignore_class Необязательное целое число. Идентификатор класса, который следует игнорировать при вычислении метрики. Это полезно, например, в задачах сегментации, где на картах сегментации есть класс «void» (обычно -1 или 255). По умолчанию (ignore_class=None) учитываются все классы.
sparse_y_pred Закодированы ли прогнозы натуральными числами или векторами распределения вероятностей. Если False, функция argmax используется для определения наиболее вероятной метки для каждого образца.
axis (Необязательно) измерение, содержащее логиты. По умолчанию используется -1.

Пример:

Пример:

y_true = np.array([[0, 0, 1], [1, 0, 0], [0, 1, 0], [1, 0, 0]])
y_pred = np.array([[0.2, 0.3, 0.5], [0.1, 0.2, 0.7], [0.5, 0.3, 0.1],
                      [0.1, 0.4, 0.5]])
sample_weight = [0.1, 0.2, 0.3, 0.4]
m = keras.metrics.OneHotMeanIoU(num_classes=3)
m.update_state(
    y_true=y_true, y_pred=y_pred, sample_weight=sample_weight)
# cm = [[0, 0, 0.2+0.4],
#       [0.3, 0, 0],
#       [0, 0, 0.1]]
# sum_row = [0.3, 0, 0.7], sum_col = [0.6, 0.3, 0.1]
# true_positives = [0, 0, 0.1]
# single_iou = true_positives / (sum_row + sum_col - true_positives))
# mean_iou = (0 + 0 + 0.1 / (0.7 + 0.1 - 0.1)) / 3
m.result()
0.048

Использование API compile():

model.compile(
    optimizer='sgd',
    loss='mse',
    metrics=[keras.metrics.OneHotMeanIoU(num_classes=3)])
Атрибуты
dtype
variables

Методы

add_variable

Посмотреть исходный код

add_variable(
    shape, initializer, dtype=None, aggregation='sum', name=None
)

add_weight

Посмотреть исходный код

add_weight(
    shape=(), initializer=None, dtype=None, name=None
)

from_config

Посмотреть исходный код

@classmethod
from_config(
    config
)

get_config

Посмотреть исходный код

get_config()

Возвращает сериализуемую конфигурацию метрики.

reset_state

Посмотреть исходный код

reset_state()

Сбрасывает все переменные состояния метрики.

Эта функция вызывается между эпохами или шагами, когда метрика вычисляется во время обучения.

result

Посмотреть исходный код

result()

Вычисляет пересечение над объединением по матрице ошибок.

stateless_reset_state

Посмотреть исходный код

stateless_reset_state()

stateless_result

Посмотреть исходный код

stateless_result(
    metric_variables
)

stateless_update_state

Посмотреть исходный код

stateless_update_state(
    metric_variables, *args, **kwargs
)

update_state

Посмотреть исходный код

update_state(
    y_true, y_pred, sample_weight=None
)

Накапливает статистику матрицы ошибок.

Аргументы
y_true Истинные значения.
y_pred Предсказанные значения.
sample_weight Необязательный вес каждого примера. Может быть Tensor с рангом 0 или таким же, как у y_true, и должна поддерживать широковещательное преобразование к y_true. По умолчанию используется 1.
Возвращает
Операция обновления.

__call__

Посмотреть исходный код

__call__(
    *args, **kwargs
)

Вызывает self как функцию.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/metrics/OneHotMeanIoU

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API