Я недавно натолкнулся на tf.nn.sparse_softmax_cross_entropy_with_logits, и я не могу понять, какая разница по сравнению с tf.nn.softmax_cross_entropy_with_logits.TensorFlow: какая разница между sparse_softmax_cross_entropy_with_logits и softmax_cross_entropy_with_logits?
Единственная разница в том, что подготовка векторов y
должна быть one-hot encoded при использовании sparse_softmax_cross_entropy_with_logits
?
Чтение API Я не смог найти никакой другой разницы по сравнению с softmax_cross_entropy_with_logits
... но зачем нам нужна дополнительная функция?
Не должно softmax_cross_entropy_with_logits
произвести тот же результат, что и sparse_softmax_cross_entropy_with_logits
, если он снабжен одноразовыми закодированными данными/векторами обучения?
Мне интересно сравнить их производительность, если они могут использоваться (например, с эксклюзивными метками изображений); Я ожидаю, что разреженная версия будет более эффективной, по крайней мере, с точки зрения памяти. –
См. Также [этот вопрос] (https://stackoverflow.com/q/47034888/712995), в котором обсуждается * все функции кросс-энтропии * в тензорном потоке (оказывается, их много). – Maxim