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" в настройках tf.compat.v1.nn.ctc_loss TensorFlow 1.x с 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 Длина эталонной последовательности меток в labels. |
logit_length | тензор формы [размер_пакета] Длина входной последовательности в logits. |
logits_time_major | (необязательно) Если True (по умолчанию), logits имеет форму [время, пакет, logits]. Если False, форма — [пакет, время, logits] |
unique | (необязательно) Уникальные индексы меток, вычисленные с помощью ctc_unique_labels(labels). Если указано, включит более быструю и экономичную реализацию на TPU. |
blank_index | (необязательно) Установите индекс класса для использования пустой метки. Отрицательные значения будут начинаться с num_classes, т.е. -1 воспроизведет поведение ctc_loss, используя num_classes - 1 для пустого символа. Существует некоторый объем памяти/производительности при переходе от значения по умолчанию 0, так как может быть создана дополнительная смещенная копия logits. |
name | Имя для этого Op. По умолчанию "ctc_loss_dense". |
| Возвращаемые значения | |
|---|---|
loss | тензор формы [размер_пакета], отрицательные логарифмические вероятности. |
Ссылки:
Connectionist Temporal Classification - Определение меток несгруппированных последовательностей с помощью рекуррентных нейронных сетей: Graves et al., 2006 (pdf)
© 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/versions/r2.9/api_docs/python/tf/nn/ctc_loss