deeprob.spn.layers package
Submodules
deeprob.spn.layers.dgcspn module
- class deeprob.spn.layers.dgcspn.SpatialGaussianLayer(in_features, out_channels, optimize_scale=False, dropout=None, quantiles_loc=None, uniform_loc=None)[source]
Bases:
ModuleInitialize a Spatial Gaussian input layer.
- Parameters
in_features (Tuple[int, int, int]) – The number of input features.
out_channels (int) – The number of output channels.
optimize_scale (bool) – Whether to optimize scale.
dropout (Optional[float]) – The leaf nodes dropout rate. It can be None.
quantiles_loc (Optional[ndarray]) – The mean quantiles for location initialization. It can be None.
uniform_loc (Optional[Tuple[float, float]]) – The uniform range for location initialization. It can be None.
- Raises
ValueError – If both quantiles_loc and uniform_loc are specified.
- class deeprob.spn.layers.dgcspn.SpatialProductLayer(in_features, kernel_size, padding, stride, dilation, depthwise=True)[source]
Bases:
ModuleInitialize a Spatial Product layer.
- Parameters
in_features (Tuple[int, int, int]) – The number of input features.
kernel_size (Union[int, Tuple[int, int]]) – The size of the kernels.
padding (str) – The padding mode to use. It can be ‘valid’, ‘full’ or ‘final’. Valid padding means no padding used. Full padding means padding is used based on effective kernel size. Final padding means one-side padding (
dilation (Union[int, Tuple[int, int]]) – The space between the kernel points.
depthwise (bool) – Whether to use depthwise convolutions. If False, random sparse kernels are used.
- Raises
ValueError – If a parameter is out of domain.
- class deeprob.spn.layers.dgcspn.SpatialSumLayer(in_features, out_channels, dropout=None)[source]
Bases:
ModuleInitialize a Spatial Sum layer.
- Parameters
deeprob.spn.layers.ratspn module
- class deeprob.spn.layers.ratspn.RegionGraphLayer(in_features, out_channels, regions, rg_depth, dropout=None, **kwargs)[source]
-
Initialize a Region Graph-based base distribution.
- Parameters
- abstract distribution_mode()[source]
Get the mode of the distribution.
- Returns
The mode of the distribution.
- Return type
- mpe(x, idx_group, idx_offset)[source]
Evaluate the layer given some inputs for maximum at posteriori estimation.
- class deeprob.spn.layers.ratspn.GaussianLayer(in_features, out_channels, regions, rg_depth, dropout=None, uniform_loc=None, optimize_scale=False)[source]
Bases:
RegionGraphLayerInitialize a Gaussian distributions input layer.
- Parameters
in_features (int) – The number of input features.
out_channels (int) – The number of channels for each base distribution layer.
rg_depth (int) – The depth of the region graph.
dropout (Optional[float]) – The leaf nodes dropout rate. It can be None.
uniform_loc (Optional[Tuple[float, float]]) – The optional uniform distribution parameters for location initialization.
optimize_scale (bool) – Whether to optimize scale and location jointly.
- class deeprob.spn.layers.ratspn.BernoulliLayer(in_features, out_channels, regions, rg_depth, dropout=None)[source]
Bases:
RegionGraphLayerInitialize a Bernoulli distributions input layer.
- Parameters
- class deeprob.spn.layers.ratspn.ProductLayer(in_regions, in_nodes)[source]
Bases:
ModuleInitialize the Product layer.
- Parameters
- mpe(x, idx_group, idx_offset)[source]
Evaluate the layer given some inputs for maximum at posteriori estimation.
- class deeprob.spn.layers.ratspn.SumLayer(in_partitions, in_nodes, out_nodes, dropout=None)[source]
Bases:
ModuleInitialize the sum layer.
- Parameters
- mpe(x, idx_group, idx_offset)[source]
Evaluate the layer given some inputs for maximum at posteriori estimation.
- class deeprob.spn.layers.ratspn.RootLayer(in_partitions, in_nodes, out_classes)[source]
Bases:
ModuleInitialize the root layer.
- Parameters
- forward(x)[source]
Evaluate the layer given some inputs.
- Parameters
x – The inputs.
- Returns
The outputs.