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" в 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 Длина эталонной последовательности меток в 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)
© 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.3/api_docs/python/tf/compat/v1/nn/ctc_loss_v2