pinnicle
pinnicle.pinn module
- class pinnicle.pinn.PINN(params={}, loadFrom=None)[source]
Bases:
objecta basic PINN model
- apply_transfer_learning(cfg=None)[source]
load pretrained weights + freeze parameters based on cfg
cfg can be: -dict (from params.param_dict[“transfer_learning”]) -object with attributes (enabled, weights_path, freeze,etc)
- check_path(path, loadOnly=False)[source]
check the path, set to default, and create folder if needed
- compile(opt=None, epochs=None, loss=None, lr=None, loss_weights=None, decay=None)[source]
compile the model, the main purpose is to check if the current setting works for the training
- load_model(path='', epochs=-1, subfolder='pinn', name='model', fileformat='')[source]
load the neural network from saved model
- plot_predictions(path='', filename='2Dsolution.png', **kwargs)[source]
plot model predictions
- Parameters:
path (Path, str) – Path to save the figures
filename (str) – name to save the figures, if set to None, then the figure will not be saved
X_ref (dict) – Coordinates of the reference solutions, if None, then just plot the predicted solutions
u_ref (dict) – Reference solutions, if None, then just plot the predicted solutions
cols (int) – Number of columns of subplot
- save_model(path='', subfolder='pinn', name='model')[source]
save the neural network to the hard disk
- update_callbacks(params=None)[source]
update callback functions for the training according to the settings in params
pinnicle.parameter module
- class pinnicle.parameter.DataParameter(param_dict={})[source]
Bases:
ParameterBaselist of all data used
- class pinnicle.parameter.DomainParameter(param_dict={})[source]
Bases:
ParameterBaseparameters of domain
- class pinnicle.parameter.EquationParameter(param_dict={})[source]
Bases:
ParameterBaseparameter of equations
- set_parameters(pdict: dict)[source]
overwrite the default function, so that for ‘scalar_parameters’, only update the dict
- subclasses = {'CalvingFront': <class 'pinnicle.physics.boundaryconditions.CalvingFrontBCEquationParameter'>, 'DUMMY': <class 'pinnicle.physics.dummy.DummyEquationParameter'>, 'MC': <class 'pinnicle.physics.continuity.MCEquationParameter'>, 'MC4MOLHO': <class 'pinnicle.physics.continuity.MC4MOLHOEquationParameter'>, 'MOLHO': <class 'pinnicle.physics.stressbalance.MOLHOEquationParameter'>, 'MOLHO Taub': <class 'pinnicle.physics.stressbalance.MOLHOTauEquationParameter'>, 'Mass transport': <class 'pinnicle.physics.continuity.ThicknessEquationParameter'>, 'SSA': <class 'pinnicle.physics.stressbalance.SSAEquationParameter'>, 'SSA First': <class 'pinnicle.physics.stressbalance.SSAFirstEquationParameter'>, 'SSA Taub': <class 'pinnicle.physics.stressbalance.SSATauEquationParameter'>, 'SSA_SHELF': <class 'pinnicle.physics.iceshelf.SSAShelfEquationParameter'>, 'SSA_SHELF_VB': <class 'pinnicle.physics.iceshelf.SSAShelfVariableBEquationParameter'>, 'SSA_VB': <class 'pinnicle.physics.stressbalance.SSAVariableBEquationParameter'>, 'Time_Invariant': <class 'pinnicle.physics.timeinvariant.TimeInvariantConstraintParameter'>, 'Weertman': <class 'pinnicle.physics.friction.WeertmanFrictionParameter'>}
- class pinnicle.parameter.LossFunctionParameter(param_dict={})[source]
Bases:
ParameterBaseparameter of customize loss function
- class pinnicle.parameter.NNParameter(param_dict={})[source]
Bases:
ParameterBaseparameters of nn
- class pinnicle.parameter.ParameterBase(param_dict)[source]
Bases:
ABCAbstract class of parameters in the experiment
- class pinnicle.parameter.Parameters(param_dict={})[source]
Bases:
ParameterBaseparameters of the pinn, including domain, data, nn, and physics
- class pinnicle.parameter.PhysicsParameter(param_dict={})[source]
Bases:
ParameterBaseparameter of physics
- class pinnicle.parameter.SingleDataParameter(param_dict={})[source]
Bases:
ParameterBaseparameters of a single data file
- class pinnicle.parameter.TrainingParameter(param_dict={})[source]
Bases:
ParameterBaseparameter of training