Class Inheritance Diagrams

The diagrams below highlight the essential inheritance relationships in QUiNN — groups where classes form multi-level hierarchies.

UQ Solvers

QUiNNBase is the root. NN_Ens adds a second level from which NN_SWAG, NN_Laplace, and NN_RMS derive.

Inheritance diagram of quinn.solvers.quinn, quinn.solvers.nn_ens, quinn.solvers.nn_mcmc, quinn.solvers.nn_vi, quinn.solvers.nn_laplace, quinn.solvers.nn_swag, quinn.solvers.nn_rms

Neural-Network Architectures

MLPBase (a torch.nn.Module) is extended by MLP, RNet, and SNet.

Inheritance diagram of quinn.nns.nnbase, quinn.nns.mlp, quinn.nns.rnet, quinn.nns.nnwrap

MCMC Samplers

MCMCBase is the common ancestor of the three samplers.

Inheritance diagram of quinn.mcmc.mcmc, quinn.mcmc.admcmc, quinn.mcmc.hmc, quinn.mcmc.mala

Random Variables

RV (a torch.nn.Module) is specialised into MVN, Gaussian_1d, and GMM2_1d.

Inheritance diagram of quinn.rvar.rvs

Input/Output Maps

XMap branches into LinearScaler (with children Standardizer, Normalizer, Domainizer) and several other leaf maps.

Inheritance diagram of quinn.utils.maps