pde_TrainingDeepONetBCP_dirichlet_soft

Functions which trains a model for solving a solvePDE_DeepONet_xy call with dirichlet boundaries and soft constraints 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, setup_boundaries, epochs, model, eqn, N_bc, extra_ders)

Main function called by PINNtrainSelect_DeepONet_xy when solving equation in xy with dirichlet boundaries with soft constraint.

Parameters:
  • pde_points (list) –

    pde_points returned from defineCollocationPoints_DON_xy()

  • u_sensors (list) –

    usensors returned from defineCollocationPoints_DON_xy()

  • setup_boundaries (boundary) –

    boundary conditions set up from return of pde_Boundaries_2var call.

  • 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, bcs, opt, model, equation, N_bc, 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

  • bcs (list) –

    Boundary value points for learning boundary conditions

  • opt (Optimizer) –

    Keras.Optimizer.Adam optimizer

  • model (DeepONet) –

    Model to train

  • equation (string) –

    Equation to solve

  • N_bc (int) –

    Number of randomly sampled collocation points along boundaries

  • 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 and boundary values. Also handles optimization of the network.

Returns:
  • loss( list ) –

    Total loss of training network during epoch

  • PDEloss( list ) –

    Loss of training network to match function along pdes points

  • BCloss( list ) –

    Loss of training network to match boundary values