twodlearn.bayesnet.bayesnet module¶
Definition of several bayesian neural-networks
-
class
twodlearn.bayesnet.bayesnet.AffineBernoulliLayer(units, *args, **kargs)[source]¶ Bases:
twodlearn.feedforward.AffineLayerImplements the layer y=dropout(x) W + b
-
class
twodlearn.bayesnet.bayesnet.BayesianMlp(n_inputs, n_outputs, n_hidden, afunction=<function selu01>, options=None, name='BayesianMlp')[source]¶ Bases:
twodlearn.feedforward.StackedModelMlp composed of layers whose weights are sampled from a variational posterior distribution
-
class
twodlearn.bayesnet.bayesnet.BernoulliBayesianMlp(n_inputs, n_outputs, n_hidden, keep_prob=0.8, options=None, afunction=<function relu>, name='BernoulliBayesianMlp')[source]¶
-
class
twodlearn.bayesnet.bayesnet.BoundedBayesianMlp(n_inputs, n_outputs, n_hidden, lower=1e-07, upper=None, afunction=<function selu01>, options=None, name='BayesianMlp')[source]¶ Bases:
twodlearn.bayesnet.bayesnet.BayesianMlpMulti-layer bayesian neural network, with bounded output
-
class
twodlearn.bayesnet.bayesnet.BoundedBernoulliBayesianMlp(n_inputs, n_outputs, n_hidden, keep_prob, lower=1e-07, upper=None, afunction=<function selu01>, options=None, name='BayesianMlp')[source]¶ Bases:
twodlearn.bayesnet.bayesnet.BernoulliBayesianMlpMulti-layer bayesian neural network, with bounded output
-
class
twodlearn.bayesnet.bayesnet.ConditionalNormal(loc=None, scale=None, shape=None, name='ConditionalNormal')[source]¶
-
class
twodlearn.bayesnet.bayesnet.DenseBernoulliLayer(activation=<function relu>, name=None, **kargs)[source]¶
-
class
twodlearn.bayesnet.bayesnet.DenseNormalLayer(activation=<function relu>, name=None, **kargs)[source]¶
-
class
twodlearn.bayesnet.bayesnet.GaussianKL(p, q, name='GaussianKL')[source]¶ Bases:
twodlearn.losses.LossEvaluate KL(p||q) for p and q Normal
-
class
twodlearn.bayesnet.bayesnet.GaussianNegLogLikelihood(y, labels=None, name='NegLogLikelihood')[source]¶
-
class
twodlearn.bayesnet.bayesnet.HeteroscedasticNormalMlp(loc_args, scale_args, LocClass=<class 'twodlearn.bayesnet.bayesnet.BayesianMlp'>, ScaleClass=<class 'twodlearn.bayesnet.bayesnet.BoundedBayesianMlp'>, options=None, name='HeteroscedasticGaussianMlp')[source]¶ Bases:
twodlearn.bayesnet.bayesnet.NormalMlpDefines a conditional gaussian N(loc=BayesianMlp(x), scale=BoundedOutputBayesianMlp(x))
-
class
twodlearn.bayesnet.bayesnet.LinearNormalLayer(units, *args, **kargs)[source]¶ Bases:
twodlearn.feedforward.LinearLayerTdl autoinitialization with arguments:
-
kernel[source]¶ (
ParameterInit) Autoinit with arguments [‘initializer’, ‘trainable’, ‘max_scale’]
-
regularizer[source]¶ (
Regularizer) Decorator used to specify a regularizer for a model. The decorator works similar to @property, but the specified method correponds to the initialization of the regularizer.
-
units[source]¶ (
InputArgument) Number of output units (int).
-
call(inputs, *args, **kargs)[source]¶ This is where the layer’s logic lives.
- Parameters
inputs – Input tensor, or list/tuple of input tensors.
**kwargs – Additional keyword arguments.
- Returns
A tensor or list/tuple of tensors.
-
kernel[source] Autoinit with arguments [‘initializer’, ‘trainable’, ‘max_scale’]
-
regularizer[source] Decorator used to specify a regularizer for a model. The decorator works similar to @property, but the specified method correponds to the initialization of the regularizer.
-
tolerance[source]
-
-
class
twodlearn.bayesnet.bayesnet.McNormal(loc, scale, samples=None, name='McNormal', **kargs)[source]¶
-
class
twodlearn.bayesnet.bayesnet.McNormalEstimate(trainable=True, name=None, *args, **kwargs)[source]¶ Bases:
twodlearn.core.layers.Layer
-
class
twodlearn.bayesnet.bayesnet.Normal(loc=None, scale=None, shape=None, name='Normal', **kargs)[source]¶
-
class
twodlearn.bayesnet.bayesnet.NormalMlp(loc_args, scale_args={}, LocClass=<class 'twodlearn.bayesnet.bayesnet.BayesianMlp'>, ScaleClass=None, options=None, name='GaussianMlp')[source]¶ Bases:
twodlearn.bayesnet.bayesnet.ConditionalNormal-
class
McNormalOutput(model, n_particles, inputs, name=None)[source]¶ Bases:
twodlearn.bayesnet.bayesnet.NormalOutput
-
class
-
class
twodlearn.bayesnet.bayesnet.NormalModel(trainable=True, name=None, *args, **kwargs)[source]¶ Bases:
twodlearn.core.layers.LayerTdl autoinitialization with arguments:
-
scale[source]¶ (
SubmodelInit) Autoinit with arguments [‘initializer’, ‘trainable’, ‘tolerance’]
-
input_shape[source]¶ (
InputArgument) Input tensor shape.
-
loc[source]¶ (
SubmodelInit) Autoinit with arguments [‘initializer’, ‘trainable’]
-
batch_shape[source]
-
build(input_shape=None)[source]¶ Creates the variables of the layer (optional, for subclass implementers).
This is a method that implementers of subclasses of Layer or Model can override if they need a state-creation step in-between layer instantiation and layer call.
This is typically used to create the weights of Layer subclasses.
- Parameters
input_shape – Instance of TensorShape, or list of instances of TensorShape if the layer expects a list of inputs (one instance per input).
-
call(inputs, *args, **kargs)[source]¶ This is where the layer’s logic lives.
- Parameters
inputs – Input tensor, or list/tuple of input tensors.
**kwargs – Additional keyword arguments.
- Returns
A tensor or list/tuple of tensors.
-
input_shape[source] Input tensor shape.
-
loc[source] Autoinit with arguments [‘initializer’, ‘trainable’]
-
scale[source] Autoinit with arguments [‘initializer’, ‘trainable’, ‘tolerance’]
-
-
class
twodlearn.bayesnet.bayesnet.Particles(n_particles, base=None, shape=None, name='Particles', **kargs)[source]¶
-
class
twodlearn.bayesnet.bayesnet.ParticlesLayer(trainable=True, name=None, *args, **kwargs)[source]¶ Bases:
twodlearn.core.layers.LayerTdl autoinitialization with arguments:
-
particles[source]¶ (
InputArgument) Number of particles.
-
input_shape[source]¶ (
InputArgument) Input tensor shape.
-
call(inputs)[source]¶ This is where the layer’s logic lives.
- Parameters
inputs – Input tensor, or list/tuple of input tensors.
**kwargs – Additional keyword arguments.
- Returns
A tensor or list/tuple of tensors.
-
compute_output_shape(input_shape=None)[source]¶ Computes the output shape of the layer.
Assumes that the layer will be built to match that input shape provided.
- Parameters
input_shape – Shape tuple (tuple of integers) or list of shape tuples (one per output tensor of the layer). Shape tuples can include None for free dimensions, instead of an integer.
- Returns
An input shape tuple.
-
input_shape[source] Input tensor shape.
-
particles[source] Number of particles.
-
-
class
twodlearn.bayesnet.bayesnet.SampleLayer(trainable=True, name=None, *args, **kwargs)[source]¶ Bases:
twodlearn.core.layers.LayerTdl autoinitialization with arguments:
-
call(inputs, *args, **kargs)[source]¶ This is where the layer’s logic lives.
- Parameters
inputs – Input tensor, or list/tuple of input tensors.
**kwargs – Additional keyword arguments.
- Returns
A tensor or list/tuple of tensors.
-
distribution[source]
-
input_shape[source]
-
sample_shape[source]
-