tf.compat.v1.distributions.kl_divergence
Получение расхождения Кульбака-Лейблера KL(распределение_a || распределение_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 имя, добавляемое как префикс к операциям, созданным этим классом. |
| Возвращаемое значение | |
|---|---|
Тензор с расхождением Кульбака-Лейблера по партиям между 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