tf.nn.ctc_loss
| Просмотреть исходный код на GitHub |
Вычисляет потерю CTC (Connectionist Temporal Classification).
tf.nn.ctc_loss(
labels, logits, label_length, logit_length, logits_time_major=True, unique=None,
blank_index=None, name=None
)
Этот оператор реализует потерю CTC, как представлено в (Graves et al., 2006).
Примечания:
- Аналогично "Классической CTC" в настройках TensorFlow 1.x tf.compat.v1.nn.ctc_loss с preprocess_collapse_repeated=False, ctc_merge_repeated=True
- Метки могут быть предоставлены как плотный, нулевым образом заполненный тензор с вектором длин последовательностей меток ИЛИ как SparseTensor.
- На TPU и GPU: Поддерживаются только плотные заполненные метки.
- На CPU: Вызывающий может использовать SparseTensor или плотные заполненные метки, но вызов со SparseTensor будет значительно быстрее.
- По умолчанию метка пробела равна 0, а не num_classes - 1, если не переопределено blank_index.
| Аргументы | |
|---|---|
labels | тензор формы [размер_пакета, максимальная_длина_последовательности_меток] или SparseTensor |
logits | тензор формы [кадры, размер_пакета, число_меток], если logits_time_major == False, форма [размер_пакета, кадры, число_меток]. |
label_length | тензор формы [размер_пакета], None, если labels - SparseTensor. Длина эталонной последовательности меток в метках. |
logit_length | тензор формы [размер_пакета]. Длина входной последовательности в logits. |
logits_time_major | (необязательно) Если True (по умолчанию), logits имеет форму [время, пакет, логиты]. Если False, форма [пакет, время, логиты] |
unique | (необязательно) Уникальные индексы меток, вычисленные ctc_unique_labels(labels). Если предоставлены, позволяют использовать более быструю и эффективную реализацию памяти на TPU. |
blank_index | (необязательно) Устанавливает индекс класса для метки пробела. Отрицательные значения будут начинаться с num_classes, например, -1 воспроизведёт поведение ctc_loss, используя num_classes - 1 для символа пробела. Существует некоторый overhead в памяти/производительности при переходе от значения по умолчанию 0, поскольку может быть создана дополнительная смещённая копия logits. |
name | Имя для этого Op. По умолчанию "ctc_loss_dense". |
| Возвращает | |
|---|---|
loss | тензор формы [размер_пакета], отрицательные логарифмические вероятности. |
Ссылки:
Connectionist Temporal Classification - Разметка данных последовательности без сегментации с помощью рекуррентных нейронных сетей: Graves et al., 2006 (pdf)
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/nn/ctc_loss