niftynet.layer.loss_autoencoder module

class LossFunction(loss_type='VariationalLowerBound', loss_func_params=None, name='loss_function')[source]

Bases: niftynet.layer.base_layer.Layer

make_callable_loss_func(type_str)[source]
layer_op(prediction)[source]
variational_lower_bound(prediction)[source]

This is the variational lower bound derived in Auto-Encoding Variational Bayes, Kingma & Welling, 2014

Parameters:prediction

[posterior_means, posterior_logvar, data_means, data_logvar, originals]

posterior_means: predicted means for the posterior

posterior_logvar: predicted log variances for the posterior data_means: predicted mean parameter for the voxels modelled as Gaussians

data_logvar: predicted log variance parameter for the voxels modelled as Gaussians

originals: the original inputs

Returns: