Многие ML‑инженеры знают, что нужно использовать CrossEntropyLoss, log_softmax и logsumexp. Гораздо меньше людей могут объяснить, что именно они спасают и почему без них обучение модели периодически превращается в генератор nan. Именно об этом и поговорим. Читать далее
О NaN больше всего известно то, что он не равен самому себе. NaN === NaN // false И что операции, невозможные арифметически, вернут NaN. 'BlaBlaBla'/0 // NaN Но у NaN есть одно мало известное(?), и, как мне кажется, весьма полезное применение. Читать дальше →
TensorFlow is an open source platform for machine learning. Prior to versions 2.9.0, 2.8.1, 2.7.2, and 2.6.4, the implementation of `tf.histogram_fixed_width` is vulnerable to a crash when the values array contain `Not a Number` (`NaN`) elements. The implementation assumes that all floating point operations are defined and then converts a floating point result to an integer index. If `values` contains `NaN` then the result of the division is still `NaN` and the cast to `int32` would result in a crash. This
Попробую на маленьком примере показать откуда берётся запутанный код.Получаем задание от менеджера, для простоты это будет просто логическая функция. И пытаемся написать лучший код.Для упрощения написания маленькая буква будет означать что условие ложно, а большая - что истинно.Представляем функцию в виде карты Карно, чтобы оптимизировать всё что можно: Читать далее