РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pytfPmLsCe 68 of 91 menu
◀ ▶

Ошибка классов в TensorFlow

При разметке категорий эталон хранят целым номером класса, а не вектором из нулей и единиц. Ошибка классов сопоставляет такие метки с таблицей сырых выходов сети. Класс SparseCategoricalCrossentropy рассчитан именно на этот случай.

Предсказания подают без преобразования в вероятности: при создании объекта ошибки указывают параметр from_logits со значением истины. Создадим ошибку, зададим метки и таблицу логитов, выведем результат:

import tensorflow as tf loss_fn = tf.keras.losses.SparseCategoricalCrossentropy( from_logits=True ) labels = tf.constant([0, 2, 1]) logits = tf.constant([ [2.0, 1.0, 0.1], [0.5, 0.5, 2.0], [1.0, 3.0, 0.0], ]) print(loss_fn(labels, logits)) # выведет tf.Tensor(0.31861904, shape=(), dtype=float32)

Метки остаются целыми, а строки логитов могут быть короче. На двух объектах и двух классах ошибка считается так же:

import tensorflow as tf loss_fn = tf.keras.losses.SparseCategoricalCrossentropy( from_logits=True ) labels = tf.constant([1, 0]) logits = tf.constant([[0.5, 1.0], [2.0, -0.5]]) print(loss_fn(labels, logits)) # выведет tf.Tensor(0.27648336, shape=(), dtype=float32)

Задайте метки [0, 1, 0] и таблицу чисел по классам [[1.0, 0.0], [0.0, 2.0], [2.0, 0.0]]. Выведите одно число - значение ошибки по этим данным.

Создайте метки [2, 0] и числа по классам [[0.0, 1.0, 3.0], [1.0, 0.0, 0.0]]. Выведите итоговую ошибку одним числом.

Соберите метки [1] и строку чисел по классам [[-1.0, 2.0]]. Выведите одно число - ошибку для этой пары.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить