tfp.substrates.jax.vi.dual_csiszar_function
Stay organized with collections
Save and categorize content based on your preferences.
Calculates the dual Csiszar-function in log-space.
tfp.substrates.jax.vi.dual_csiszar_function(
logu, csiszar_function, name=None
)
A Csiszar-function is a member of,
F = { f:R_+ to R : f convex }.
The Csiszar-dual is defined as:
f^*(u) = u f(1 / u)
where f
is some other Csiszar-function.
For example, the dual of kl_reverse
is kl_forward
, i.e.,
f(u) = -log(u)
f^*(u) = u f(1 / u) = -u log(1 / u) = u log(u)
The dual of the dual is the original function:
f^**(u) = {u f(1/u)}^*(u) = u (1/u) f(1/(1/u)) = f(u)
Args |
logu
|
float -like Tensor representing log(u) from above.
|
csiszar_function
|
Python callable representing a Csiszar-function over
log-domain.
|
name
|
Python str name prefixed to Ops created by this function.
|
Returns |
dual_f_of_u
|
float -like Tensor of the result of calculating the dual of
f at u = exp(logu) .
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-11-21 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2023-11-21 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-11-21 UTC."],[],[]]