Published August 23, 2024 | Version v1
Other Open

Companion to "Data-driven Dynamic Friction Models based on Recurrent Neural Networks"

  • 1. ROR icon École Polytechnique Fédérale de Lausanne

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:

  1. 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.

  2. 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.

  3. 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.
  4. Additional Documentation: The root folder contains a ReadMe.txt file, 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)

Funding

Swiss National Science Foundation
Data-Driven Computational Friction 216341