tf.compat.v1.distributions.kl_divergence
Получение расхождения по Кульбаку-Лейблеру KL(distribution_a || distribution_b). (устаревшее)
tf.compat.v1.distributions.kl_divergence(
distribution_a, distribution_b, allow_nan_stats=True, name=None
)
Если нет метода расхождения по Кульбаку-Лейблеру, зарегистрированного специально для type(distribution_a) и type(distribution_b), тогда ищутся иерархии классов этих типов.
Если один метод расхождения по Кульбаку-Лейблеру зарегистрирован между любыми парами классов в этих двух родительских иерархиях, используется он.
Если существует более одного такого зарегистрированного метода, используется тот метод, у которого зарегистрированные классы имеют кратчайшую сумму путей MRO до входных типов.
Если существует более одного такого кратчайшего пути, используется первый найденный метод в поиске (предпочитая более короткое расстояние MRO до type(distribution_a)).
| Аргументы | |
|---|---|
distribution_a | Первое распределение. |
distribution_b | Второе распределение. |
allow_nan_stats | Python bool, по умолчанию True. Когда True, статистика (например, среднее, мода, дисперсия) используют значение "NaN", чтобы указать, что результат не определен. Когда False, генерируется исключение, если один или несколько элементов пакета статистики не определены. |
name | Python str имя, добавляемое как префикс к операциям, созданным этим классом. |
| Возвращаемые значения | |
|---|---|
Тензор с пакетным расхождением по Кульбаку-Лейблеру между distribution_a и distribution_b. |
| Исключения | |
|---|---|
NotImplementedError | Если метод расхождения по Кульбаку-Лейблеру не определен для типов распределения distribution_a и distribution_b. |
© 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/distributions/kl_divergence