Main notes
The **DPX** project provides easy solutions to interface AI with numerical simulations.
The project provides a ``Core`` package with additional compatibility layers for external AI and simulations frameworks.
The project includes three main AI pipelines:
* Generate a dataset with synthetic data from numerical simulations;
* Train an artificial neural network with a synthetic dataset;
* Use the prediction of trained networks in a numerical simulation.
This version is the first stable release of the project.
It provides a ``Core`` package with 2 corresponding [SOFA](https://github.com/sofa-framework/sofa) & [PyTorch](https://github.com/pytorch/pytorch) compatible layers. It also provides a [documentation](https://deepphysx.readthedocs.io/en/latest/) page and examples with shared training data.
Features
Dataset
* Automatic training dataset storage and loading with multiple files management;
* Dataset shuffle and normalization;
* Multiple dataset modes: Training, Validation, Prediction;
* Customizable dataset fields.
Simulation
* Data generation achieved by several simulations running in multiprocessing with a client-server architecture;
* Operation with internal data, from the dataset or from the neural network;
* Increased interactions with other components (dataset, neural network, visualizer);
* Check the validity of the training data;
* A visualization Factory to init, update and render the simulated objects (written with [Vedo](https://vedo.embl.es/)).
Network
* Automatic storage and loading of networks during training;
* Customizable data transformations at each step (forward pass, optimization, prediction apply);
* Customizable optimization process with training data;
* An analysis of the evolution of the training session (written with [Tensorboard](https://www.tensorflow.org/tensorboard/));
* Already implemented architectures: FC, UNet.