pde_TrainingDeepONetBCP_hard

Functions which trains a model for solving a solvePDE_DeepONet_xy call with dirichlet boundaries and hard constraints, and periodic boundaries with both soft and hard constraints (as there is no difference), implemented in TensorFlow.

While available to user, not meant to be used. Meant to be used through object returned from solvePDE calls, where training file is selected through pde_trainingSelects.PINNtrainSelect_DeepONet_xy()

train(pde_points, u_sensors, epochs, model, eqn, N_bc, extra_ders)

Main function called by PINNtrainSelect_DeepONet_xy when solving equation in xy with hard constraints or periodic boundaries (as those equations function the same, no learning of any boundary conditions).

Parameters:
  • pde_points (list) –

    pde_points returned from defineCollocationPoints_DON_xy()

  • u_sensors (list) –

    usensors returned from defineCollocationPoints_DON_xy()

  • epochs (int) –

    Number of epochs model gets trained for

  • model (DeepONet) –

    Model created from pde_DeepONetModelFuncs_2var or input model

  • eqn (string) –

    Equation to be solved

  • N_bc (int) –

    Number of randomly sampled collocation points along boundaries which DeepONet uses in training.

  • extra_ders (list) –

    Extra derivatives needed to be computed for user equation

Returns:
  • epoch_loss( list ) –

    Total loss over training of model

  • iv_loss( list ) –

    Inital value loss over training of model

  • bc_loss( list ) –

    Boundary condition loss over training of model

  • pde_loss( list ) –

    Differential equation loss over training of model

  • model( DeepONet ) –

    Trained model to predict equation solution

Packages data correctly and calls train_network in executing training routine.

train_network(pdes, uIn, opt, model, equation, extra_ders)

Function which does the training for a single epoch

Parameters:
  • pdes (list) –

    Sampled pde points network uses to train

  • uIn (list) –

    Sensor points network uses to train

  • opt (Optimizer) –

    Keras.Optimizer.Adam optimizer

  • model (DeepONet) –

    Model to train

  • equation (string) –

    Equation to solve

  • extra_ders (list) –

    Extra derivatives needed to be computed for user equation

Generates derivatives of model using automatic differentiation. Computes mean squared error of loss along pdes points. Also handles optimization of the network.

Returns:
  • loss( list ) –

    Total loss of training network during epoch

  • PDloss( list ) –

    Loss of training network to match function along pdes points