ThummeTo / FMIFlux.jl

FMIFlux.jl is a free-to-use software library for the Julia programming language, which offers the ability to place FMUs (fmi-standard.org) everywhere inside of your ML topologies and still keep the resulting model trainable with a standard (or custom) FluxML training process.
MIT License
56 stars 15 forks source link
fmi fmu hybrid-modeling julia neuralfmu neuralode physicsai scientific-machine-learning

FMIFlux.jl Logo

FMIFlux.jl

What is FMIFlux.jl?

FMIFlux.jl is a free-to-use software library for the Julia programming language, which offers the ability to simply place your FMU (fmi-standard.org) everywhere inside of your ML topologies and still keep the resulting models trainable with a standard (or custom) FluxML training process. This includes for example:

Dev Docs Test (latest) Test (LTS) Examples Build Docs Run PkgEval Coverage ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

How can I use FMIFlux.jl?

1. Open a Julia-REPL, switch to package mode using ], activate your preferred environment.

2. Install FMIFlux.jl:

(@v1) pkg> add FMIFlux

3. If you want to check that everything works correctly, you can run the tests bundled with FMIFlux.jl:

(@v1) pkg> test FMIFlux

4. Have a look inside the examples folder in the examples branch or the examples section of the documentation. All examples are available as Julia-Script (.jl), Jupyter-Notebook (.ipynb) and Markdown (.md).

What is currently supported in FMIFlux.jl?

(Current) Limitations

What is under development in FMIFlux.jl?

What Platforms are supported?

FMIFlux.jl is tested (and testing) under Julia versions v1.6 (LTS) and v1 (latest) on Windows (latest) and Ubuntu (latest). MacOS should work, but untested. All shipped examples are automatically tested under Julia version v1 (latest) on Windows (latest).

What FMI.jl-Library should I use?

FMI.jl Family To keep dependencies nice and clean, the original package FMI.jl had been split into new packages:

Video-Workshops

JuliaCon 2024 (Eindhoven University of Technology, Netherlands)

YouTube Video of Workshop

JuliaCon 2023 (Massachusetts Institute of Technology, United States)

YouTube Video of Workshop

How to cite?

Tobias Thummerer, Johannes Stoljar and Lars Mikelsons. 2022. NeuralFMU: presenting a workflow for integrating hybrid NeuralODEs into real-world applications. Electronics 11, 19, 3202. DOI: 10.3390/electronics11193202

Tobias Thummerer, Lars Mikelsons and Josef Kircher. 2021. NeuralFMU: towards structural integration of FMUs into neural networks. Martin Sjölund, Lena Buffoni, Adrian Pop and Lennart Ochel (Ed.). Proceedings of 14th Modelica Conference 2021, Linköping, Sweden, September 20-24, 2021. Linköping University Electronic Press, Linköping (Linköping Electronic Conference Proceedings ; 181), 297-306. DOI: 10.3384/ecp21181297

Related publications?

Tobias Thummerer, Johannes Tintenherr, Lars Mikelsons 2021. Hybrid modeling of the human cardiovascular system using NeuralFMUs Journal of Physics: Conference Series 2090, 1, 012155. DOI: 10.1088/1742-6596/2090/1/012155