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 имя, добавляемое в качестве префикса к операциям, созданным этим классом. |
| Возвращаемое значение | |
|---|---|
Массив с пакетным расхождением Кульбака-Лайбла между distribution_a и distribution_b. |
| Исключения | |
|---|---|
NotImplementedError | Если метод KL не определён для типов распределений distribution_a и distribution_b. |
© 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/versions/r2.9/api_docs/python/tf/compat/v1/distributions/kl_divergence