Companion to "Data-driven Dynamic Friction Models based on Recurrent Neural Networks"
Description
This repository contains all the necessary materials to reproduce and analyze the training of Gated Recurrent Unit (GRU) Neural Networks using PyTorch, including the datasets generated and used during the training process. Specifically, this repository provides:
-
Jupyter Notebooks: These notebooks are used to train the GRU Neural Networks, detailing the implementation and training process. They cover all the necessary steps from data preparation to model evaluation.
-
Datasets: The repository includes the training, testing, and validation datasets used during the model development. Additionally, Mathematica notebooks are provided, which were used to generate synthetic data for the training process.
-
Directory Structure:
- Synthetic Data Generation: This folder contains all resources related to the generation of synthetic datasets, including the Mathematica notebooks.
- notebooks_and_results: This folder contains subfolders for each model configuration. Each subfolder includes:
- A Jupyter notebook detailing the training process.
- The "best weights" saved during the training process, representing the optimal model state according to lowest training loss.
- Detailed logs (csv files) tracking the evolution of the loss terms and gradient magnitudes, providing insight into the training dynamics.
-
Additional Documentation: The root folder contains a
ReadMe.txtfile, which provides specific details about the models and the associated resources. Users are encouraged to consult these files for a better understanding of the individual experiments and their outcomes.
Output File Naming Convention: The output files generated during the training process follow a specific naming convention designed to encode the key parameters and settings used in each experiment. An example of this naming convention is as follows:
gradients_losses_105trainseq_22valseq_1batch_10hidden_2.0clip_1.0MAE_0.1IC_0.1gradIC_0.01DE_0.001healing_0.0l2reg
Here’s a breakdown of what each part of the filename represents:
- trainseq: Number of training sequences used (105 sequences).
- valseq: Number of validation sequences used (22 sequences).
- batch: Batch size used during training (1).
- hidden: Number of hidden units in the GRU model (10 units).
- clip: Gradient clipping value (2.0 norm).
- MAE: Weight assigned to the Mean Absolute Error (MAE) loss term (1.0).
- IC: Weight for the initial conditions loss term (0.1).
- gradIC: Weight for the gradient of initial conditions loss term (0.1).
- DE: Weight for the direct effect loss term (0.01).
- healing: Weight for the frictional healing term added to the loss (0.001).
- l2reg: Weight for L2 regularization (0.0 indicates that L2 regularization was not applied).
Files
Garcia-Suarez_RNN-RSF_Zenodo.zip
Files
(53.4 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:95e4c25c81cace45579ac72df3fc3469
|
53.4 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Preprint: arXiv:2402.14148 (arXiv)