Dear all,
A new version of athena has been released - version 2.1.0
ATHENA release: Release v2.1.0 · nedtaylor/athena · GitHub
The release builds on the 2.0 rewrite, with a focus on neural operators, inverse design, improved training workflows, and stronger ONNX support.
Brief summary of new features:
- added framework for neural operator layers
- Laplace, graph, spectral filter, and orthogonal attention variants
- inverse design high-level procedures (i.e. learn optimum input to achieve desired output)
- optional Weights & Biases integration via wandb-fortran
- ONNX json-format support for graph and neural operator layers and improved ONNX json format reading
- flang compiler support
- improved high-level
train procedure
- Speed optimisation and support for BLAS
- added more pages to the ReadtheDocs
athena remains a modular, extensible Fortran library for neural networks on spatial and graph-based data, designed with physics-informed applications in mind. With more Fortran neural network libraries, such as Fiats, emerging with a focus on parallelisation and speed optimisation, athena’s development is focused on architectural flexibility to support emerging neural network models used in scientific machine learning to show the extent to which neural networks can be supported in the Fortran language (i.e. graphs, PINNs, neural operators, inverse design).
Feedback and contributions are very welcome.
Kind regards,
Ned
P.S. I aim to submit the v2 release of athena to JOSS soon due to the substantial changes since the publication of the paper for v1.
10 Likes
I want to solve PDEs using neural networks. Is it possible to use your library for this? Do you have any complete, ready-to-use code that you can share? Thank you.
1 Like
Hi @gangli1978, there is an example packaged with the athena library that uses PINNs to solve the burger’s equation. Is this example relevant to your work? athena/example/pinn_burgers at main · nedtaylor/athena · GitHub
The readthedocs also goes over this a bit more: Physics-Informed Neural Networks - athena documentation
I and a couple of others are using it more in depth work cases, but this should serve as a proof of concept. If you want to discuss this further, let me know.
Thanks for your sharing. I will study it first. My research focuses on high-order accurate methods for hyperbolic problems, with expertise in WENO schemes and DG methods. Currently, I am working on combining high-order methods with AI. We could explore potential cooperation in the future. Best regards!
1 Like
This numerical example is excellent. I’ll learn from it.
1 Like
How do I configure the TOML file?
If you’re referring to the fpm toml for using athena in your own project, add this to your project’s toml:
[dependencies]
athena = { git = “GitHub - nedtaylor/athena: A Fortran-based neural network library for physics-based applications. Alongside standard neural network layer types, it also supports graph-based layers and physics informed neural networks. · GitHub” }
Documentation:
If you’re referring to something else, let me know and I can try to answer.
Yes, I’m using fpm and have added the dependencies in the TOML file. However, the compilation failed with the error: cannot open input file “blas.lib”. Thanks a lot for your help!
That will be an issue with one of athena’s dependencies (diffstruc), which optionally uses BLAS for the neural network matrix multiplication (defaults to using it). To turn it off you might need to manually download diffstruc and athena and comment out the USE_BLAS macros line in the diffstruc toml (maybe I should make it easier to turn this off), then point to their local paths rather than git repos:
[dependencies]
diffstruc = { path = “PATH_TO_DIFFSTRUC” }
And then similar for athena in your project toml.
I’ve not seen this issue before, I assume that it’s an issue with fpm not being able to see BLAS installation on your computer or the paths are not exported to see it.