| Module | Source File | Description |
|---|---|---|
| athena | athena.f90 | Module containing all publicly available types and procedures |
| athena__accuracy | athena_accuracy.f90 | Module containing functions to compute the accuracy of a model |
| athena__activation | athena_activation.f90 | Module containing the activation function setup |
| athena__activation_gaussian | athena_activation_gaussian.f90 | Module containing implementation of the Gaussian activation function |
| athena__activation_leaky_relu | athena_activation_leaky_relu.f90 | Module containing implementation of the leaky ReLU activation function |
| athena__activation_linear | athena_activation_linear.f90 | Module containing implementation of the linear activation function |
| athena__activation_none | athena_activation_none.f90 | Module containing implementation of no activation function (identity) |
| athena__activation_piecewise | athena_activation_piecewise.f90 | Module containing implementation of the piecewise activation function https://doi.org/10.48550/arXiv.1809.09534 |
| athena__activation_relu | athena_activation_relu.f90 | Module containing implementation of the ReLU activation function |
| athena__activation_selu | athena_activation_selu.f90 | Module containing implementation of the SELU activation function |
| athena__activation_sigmoid | athena_activation_sigmoid.f90 | Module containing implementation of the sigmoid activation function |
| athena__activation_softmax | athena_activation_softmax.f90 | Module containing implementation of the softmax activation function |
| athena__activation_swish | athena_activation_swish.f90 | Module containing implementation of the swish activation function |
| athena__activation_tanh | athena_activation_tanh.f90 | Module containing implementation of the tanh activation function |
| athena__actv_layer | athena_activation_layer.f90 | Module containing implementation of the activation layer |
| athena__add_layer | athena_add_layer.f90 | Module containing implementation of an element-wise addition layer |
| athena__avgpool1d_layer | athena_avgpool1d_layer.f90 | Module containing implementation of a 1D average pooling layer |
| athena__avgpool2d_layer | athena_avgpool2d_layer.f90 | Module containing implementation of a 2D average pooling layer |
| athena__avgpool3d_layer | athena_avgpool3d_layer.f90 | Module containing implementation of a 3D average pooling layer |
| athena__base_layer | athena_base_layer.f90 | Module containing the abstract base layer type |
| athena__base_layer_submodule | athena_base_layer_sub.f90 | Submodule containing the implementation of the base layer types |
| athena__base_layer_submodule_init | athena_base_layer_sub_init.f90 | Submodule containing the implementation of the base layer types |
| athena__base_layer_submodule_io | athena_base_layer_sub_io.f90 | Submodule containing the implementation of the base layer types |
| athena__batchnorm1d_layer | athena_batchnorm1d_layer.f90 | Module containing implementation of 0D and 1D batch normalisation layers |
| athena__batchnorm2d_layer | athena_batchnorm2d_layer.f90 | Module containing implementation of 2D batch normalisation layer |
| athena__batchnorm3d_layer | athena_batchnorm3d_layer.f90 | Module containing implementation of 3D batch normalisation layers |
| athena__clipper | athena_clipper.f90 | Module containing functions to clip gradients |
| athena__concat_layer | athena_concat_layer.f90 | Module containing implementation of a concatenation layer |
| athena__container_layer | athena_container_layer.f90 | Module containing types and interfaces for the container type |
| athena__container_layer_submodule | athena_container_layer_sub.f90 | Submodule containing the implementation for the container layer |
| athena__conv1d_layer | athena_conv1d_layer.f90 | Module containing implementation of a 1D convolutional layer |
| athena__conv2d_layer | athena_conv2d_layer.f90 | Module containing implementation of a 2D convolutional layer |
| athena__conv3d_layer | athena_conv3d_layer.f90 | Module containing implementation of a 3D convolutional layer |
| athena__diffstruc_extd | athena_diffstruc_extd.f90 | Module for extended differential structure types for Athena |
| athena__diffstruc_extd_loss_submodule | athena_diffstruc_extd_loss.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule | athena_diffstruc_extd_sub.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_batchnorm | athena_diffstruc_extd_sub_batchnorm.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_conv | athena_diffstruc_extd_sub_conv.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_merge | athena_diffstruc_extd_sub_merge.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_msgpass_duvenaud | athena_diffstruc_extd_sub_duvenaud.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_msgpass_kipf | athena_diffstruc_extd_sub_kipf.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_nop | athena_diffstruc_extd_sub_nop.f90 | Submodule containing autodiff operations for the Graph Neural Operator |
| athena__diffstruc_extd_submodule_pad | athena_diffstruc_extd_sub_pad.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__diffstruc_extd_submodule_pool | athena_diffstruc_extd_sub_pool.f90 | Submodule containing implementations for extended diffstruc array operations |
| athena__dropblock2d_layer | athena_dropblock2d_layer.f90 | Module containing implementation of a 2D dropblock layer |
| athena__dropblock3d_layer | athena_dropblock3d_layer.f90 | Module containing implementation of a 3D dropblock layer |
| athena__dropout_layer | athena_dropout_layer.f90 | Module containing implementation of a dropout layer |
| athena__duvenaud_msgpass_layer | athena_duvenaud_msgpass_layer.f90 | Module implementing Duvenaud message passing for molecular graphs |
| athena__dynamic_lno_layer | athena_dynamic_lno_layer.f90 | Module containing implementation of a Laplace Neural Operator layer |
| athena__fixed_lno_layer | athena_fixed_lno_layer.f90 | Module containing implementation of a Laplace Neural Operator layer |
| athena__flatten_layer | athena_flatten_layer.f90 | Module containing implementation of a flattening layer |
| athena__full_layer | athena_full_layer.f90 | Module containing implementation of a fully connected layer |
| athena__graph_nop_layer | athena_graph_nop_layer.f90 | Module containing implementation of a Graph Neural Operator (GNO) layer |
| athena__initialiser | athena_initialiser.f90 | Module containing functions to set up initialisers |
| athena__initialiser_data | athena_initialiser_data.f90 | Module containing the implementation of the data initialiser |
| athena__initialiser_gaussian | athena_initialiser_gaussian.f90 | Module containing the Gaussian initialisation |
| athena__initialiser_glorot | athena_initialiser_glorot.f90 | Module containing the implementation of the Glorot initialiser |
| athena__initialiser_he | athena_initialiser_he.f90 | Module containing the implementation of the He initialiser |
| athena__initialiser_ident | athena_initialiser_ident.f90 | Module containing the implementation of the identity initialiser |
| athena__initialiser_lecun | athena_initialiser_lecun.f90 | Module containing the implementation of the LeCun initialiser |
| athena__initialiser_ones | athena_initialiser_ones.f90 | Module containing the implementation of the Ones initialiser |
| athena__initialiser_zeros | athena_initialiser_zeros.f90 | Module containing the implementation of the Zeros initialiser |
| athena__input_layer | athena_input_layer.f90 | Module containing procedures for an input layer |
| athena__io_utils | athena_io_utils.F90 | Module for handling errors and io calls in the program. |
| athena__kipf_msgpass_layer | athena_kipf_msgpass_layer.f90 | Module implementing Kipf & Welling Graph Convolutional Network (GCN) |
| athena__learning_rate_decay | athena_lr_decay.f90 | Module containing learning decay rate types and procedures |
| athena__loss | athena_loss.f90 | Module containing loss function implementations |
| athena__maxpool1d_layer | athena_maxpool1d_layer.f90 | Module containing implementation of a 1D max pooling layer |
| athena__maxpool2d_layer | athena_maxpool2d_layer.f90 | Module containing implementation of a 2D max pooling layer |
| athena__maxpool3d_layer | athena_maxpool3d_layer.f90 | Module containing implementation of a 3D max pooling layer |
| athena__metrics | athena_metrics.f90 | Module containing functions to compute the accuracy of a model |
| athena__misc_ml | athena_misc_ml.f90 | Module containing miscellaneous machine learning procedures |
| athena__misc_types | athena_misc_types.f90 | Module containing custom derived types and interfaces for ATHENA |
| athena__misc_types_submodule | athena_misc_types_sub.f90 | Submodule containing implementations for derived types |
| athena__msgpass_layer | athena_msgpass_layer.f90 | Module containing the types and interfaces of a message passing layer |
| athena__msgpass_layer_submodule | athena_msgpass_layer_sub.f90 | Submodule containing implementations for a message passing layer |
| athena__network | athena_network.f90 | Module containing the network class used to define a neural network |
| athena__network_submodule | athena_network_sub.f90 | Submodule containing implementations for the network module |
| athena__neural_operator_layer | athena_neural_operator_layer.f90 | Module containing implementation of a simple neural operator layer |
| athena__normalisation | athena_normalisation.f90 | Module containing procedures for normalising input and output data |
| athena__onnx | athena_onnx.f90 | Module containing the types and interfaces for ONNX operations |
| athena__onnx_read_submodule | athena_onnx_read_sub.f90 | Submodule containing the ONNX import procedures. |
| athena__onnx_write_submodule | athena_onnx_write_sub.f90 | Submodule containing the ONNX export procedures. |
| athena__onnx_creators | athena_onnx_creators.f90 | Module containing ONNX layer creator functions |
| athena__onnx_msgpass_utils | athena_onnx_msgpass_utils.f90 | Shared ONNX builder helpers for message-passing layers. |
| athena__onnx_nop_utils | athena_onnx_nop_utils.f90 | Shared utility routines for NOP ONNX export/import. |
| athena__onnx_utils | athena_onnx_utils.f90 | Shared utility routines for ONNX JSON export |
| athena__optimiser | athena_optimiser.f90 | Module containing implementations of optimisation methods |
| athena__orthogonal_attention_layer | athena_orthogonal_attention_layer.f90 | Module containing implementation of an Orthogonal Attention layer |
| athena__orthogonal_nop_block | athena_orthogonal_nop_block.f90 | Module containing implementation of an Orthogonal Neural Operator layer |
| athena__pad1d_layer | athena_pad1d_layer.f90 | Module containing implementation of a 1D padding layer |
| athena__pad2d_layer | athena_pad2d_layer.f90 | Module containing implementation of a 2D padding layer |
| athena__pad3d_layer | athena_pad3d_layer.f90 | Module containing implementation of a 3D padding layer |
| athena__random | athena_random.f90 | Module containing functions to initialise the random number generator |
| athena__recurrent_layer | athena_recurrent_layer.f90 | Module containing implementation of recurrent neural network layers |
| athena__regulariser | athena_regulariser.f90 | Module containing regularisation methods |
| athena__reshape_layer | athena_reshape_layer.f90 | Module containing implementation of a reshape layer |
| athena__spectral_filter_layer | athena_spectral_filter_layer.f90 | Module containing implementation of a Spectral Filter layer |
| athena__tools_infile | athena_tools_infile.f90 | Module containing custom input file reading functions and subroutines |
| athena_wandb | athena_wandb.F90 | Athena interface to Weights & Biases (wandb) experiment tracking. |