tf.distributions.kl_divergence
Получить расстояние Кульбака-Лейблера KL(distribution_a || distribution_b). (устарело)
tf.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 | Если метод KL не определен для типов распределений 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/r1.15/api_docs/python/tf/distributions/kl_divergence