config.py
This file contains the hyper- and training parameters of the ICNN for learning the hidden material model using the NN-EUCLID framework. Table A.1 in the paper discusses these parameters.
Hyper- and training parameters
Parameter | Description |
---|---|
ensemble_size |
Number of ICNNs in the ensemble |
random_init |
Randomly initialize weights and biases of ICNNs using xavier_uniform |
n_input |
Default = 3, i.e., the three principal invariants. |
n_output |
Default = 1, i.e., the strain energy density. |
n_hidden |
List of number of neurons for each hidden layer. |
use_dropout |
Use dropout in ICNN architecture. |
dropout_rate |
Dropout probability. |
use_sftpSquared |
Use squared softplus activation for the hidden layers. |
scaling_sftpSq |
Scale the output after squared softplus activation to mitigate exploding gradients. |
opt_method |
Specify the NN optimizer. |
epochs |
Number of epochs to train the ICNN |
lr_schedule |
Choose a learning rate scheduler to improve convergence and performance. |
eqb_loss_factor |
Factor to scale the force residuals at the free DoFs. |
reaction_loss_factor |
Factor to scale the force residuals at the fixed DoFs. |
verbose_frequency |
Prints the training progress every \(n^{th}\) (\(n=\)verbose_frequency ) epoch. |
Plotting parameters
Parameter | Description |
---|---|
plot_quantities |
Which quantities to evaluate and plot. |
strain_paths |
Which strain paths to evaluate and plot. |
lw_truth |
Linewidth of the true strain energy density response. |
lw_best |
Linewidth of the strain energy response of accepted models. |
lw_worst |
Linewidth of the strain energy response of rejected models. |
color_truth |
Color for the true strain energy reponse |
color_best |
Color for the strain energy response of accepted models. |
color_worst |
Color for the strain energy response of rejected models. |
alpha_best |
Opacity of the line for the accepted models. |
alpha_worst |
Opacity of the line for the rejected models. |
g_min, g_max |
Range of the loading parameter gamma. |
gamma_steps |
How many loading steps to take. |
remove_ensemble_outliers |
If categorization into accepted and rejected should be made. |
accept_ratio |
Defines loss range in which accepted models fall into. |
fs |
fontsize |