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