pixyz.losses (Loss API)¶
Loss¶
Negative expected value of log-likelihood (entropy)¶
CrossEntropy¶
Entropy¶
StochasticReconstructionLoss¶
LossExpectation¶
Lower bound¶
Statistical distance¶
KullbackLeibler¶
-
class
pixyz.losses.
KullbackLeibler
(p, q, input_var=None, dim=None)[source]¶ Bases:
pixyz.losses.losses.Loss
Kullback-Leibler divergence (analytical).
- TODO: This class seems to be slightly slower than this previous implementation
- (perhaps because of set_distribution).
-
loss_text
¶
WassersteinDistance¶
-
class
pixyz.losses.
WassersteinDistance
(p, q, metric=PairwiseDistance(), input_var=None)[source]¶ Bases:
pixyz.losses.losses.Loss
Wasserstein distance.
However, instead of the above true distance, this class computes the following one.
Here,
is the upper of
(i.e.,
), and these are equal when both
and
are degenerate (deterministic) distributions.
-
loss_text
¶
-
MMD¶
-
class
pixyz.losses.
MMD
(p, q, input_var=None, kernel='gaussian', **kernel_params)[source]¶ Bases:
pixyz.losses.losses.Loss
The Maximum Mean Discrepancy (MMD).
where
is any positive definite kernel.
-
loss_text
¶
-
Adversarial statistical distance (GAN loss)¶
AdversarialJensenShannon¶
AdversarialKullbackLeibler¶
Loss for sequential distributions¶
IterativeLoss¶
-
class
pixyz.losses.
IterativeLoss
(step_loss, max_iter=1, input_var=None, series_var=None, update_value={}, slice_step=None, timestep_var=['t'])[source]¶ Bases:
pixyz.losses.losses.Loss
Iterative loss.
This class allows implementing an arbitrary model which requires iteration (e.g., auto-regressive models).
-
loss_text
¶
-
Loss for special purpose¶
Parameter¶
-
class
pixyz.losses.losses.
Parameter
(input_var)[source]¶ Bases:
pixyz.losses.losses.Loss
-
loss_text
¶
-
Operators¶
LossOperator¶
LossSelfOperator¶
AddLoss¶
-
class
pixyz.losses.losses.
AddLoss
(loss1, loss2)[source]¶ Bases:
pixyz.losses.losses.LossOperator
-
loss_text
¶
-
SubLoss¶
-
class
pixyz.losses.losses.
SubLoss
(loss1, loss2)[source]¶ Bases:
pixyz.losses.losses.LossOperator
-
loss_text
¶
-
MulLoss¶
-
class
pixyz.losses.losses.
MulLoss
(loss1, loss2)[source]¶ Bases:
pixyz.losses.losses.LossOperator
-
loss_text
¶
-
DivLoss¶
-
class
pixyz.losses.losses.
DivLoss
(loss1, loss2)[source]¶ Bases:
pixyz.losses.losses.LossOperator
-
loss_text
¶
-
NegLoss¶
-
class
pixyz.losses.losses.
NegLoss
(loss1)[source]¶ Bases:
pixyz.losses.losses.LossSelfOperator
-
loss_text
¶
-
AbsLoss¶
-
class
pixyz.losses.losses.
AbsLoss
(loss1)[source]¶ Bases:
pixyz.losses.losses.LossSelfOperator
-
loss_text
¶
-
BatchMean¶
-
class
pixyz.losses.losses.
BatchMean
(loss1)[source]¶ Bases:
pixyz.losses.losses.LossSelfOperator
Loss averaged over batch data.
where
and
is a loss function.
-
loss_text
¶
-
BatchSum¶
-
class
pixyz.losses.losses.
BatchSum
(loss1)[source]¶ Bases:
pixyz.losses.losses.LossSelfOperator
Loss summed over batch data.
where
and
is a loss function.
-
loss_text
¶
-