tf.compat.v1.nn.ctc_loss_v2
Вычисляет функцию потерь CTC (Connectionist Temporal Classification).
tf.compat.v1.nn.ctc_loss_v2(
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 | тензор формы [batch_size, max_label_seq_length] или SparseTensor |
logits | тензор формы [frames, batch_size, num_labels]; если logits_time_major == False, форма — [batch_size, frames, num_labels]. |
label_length | тензор формы [batch_size]; None, если labels — это SparseTensor. Длина эталонной последовательности меток в labels. |
logit_length | тензор формы [batch_size]. Длина входной последовательности в logits. |
logits_time_major | (необязательно) Если True (по умолчанию), logits имеет форму [time, batch, logits]. Если False, форма — [batch, time, 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 | тензор формы [batch_size], отрицательные логарифмы вероятностей. |
| Ссылки | |
|---|---|
| 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/api_docs/python/tf/compat/v1/nn/ctc_loss_v2