diff --git a/docs/code/index.html b/docs/code/index.html index 452c218..eeefb49 100644 --- a/docs/code/index.html +++ b/docs/code/index.html @@ -216,7 +216,7 @@
  • - Input Data Format + Input Data Preparation
  • @@ -227,8 +227,8 @@
  • - - Configuration File + + Training
  • @@ -239,8 +239,8 @@
  • - - Data Preparation + + Performance Assessment
  • @@ -251,8 +251,8 @@
  • - - Training + + Configuration
  • @@ -263,8 +263,20 @@
  • - - Validation + + Troubleshouting + +
  • + + + + + + + +
  • + + Copyrights and Credits
  • @@ -369,17 +381,44 @@ @@ -414,7 +453,7 @@
  • - Input Data Format + Input Data Preparation
  • @@ -428,8 +467,8 @@
  • - - Configuration File + + Training
  • @@ -443,8 +482,8 @@
  • - - Data Preparation + + Performance Assessment
  • @@ -458,8 +497,8 @@
  • - - Training + + Configuration
  • @@ -473,8 +512,23 @@
  • - - Validation + + Troubleshouting + +
  • + + + + + + + + + + +
  • + + Copyrights and Credits
  • @@ -507,17 +561,44 @@ @@ -542,23 +623,34 @@

    The Code

    Final State Transformer Architecture

    -

    Get the code

    -

    Start by cloning the final-state-transformer repository. If you benefit from an ssh key for GitLab, you can proceed with: +

    Source Code and Installation

    +

    The source code for the FST toolkit is hosted on GitHub. Users can access the repository by visiting the final-state-transformer GitHub page. The repository contains all the scripts, utilities and documentation needed to understand and utilize the toolkit. To install the FST toolkit, follow the following steps to ensure smooth setup. Before installation, ensure you have the following software installed on your system: Python 3.9.13 or higher, Git, pip (Python package installer).

    +

    Start by cloning the FST repository from GitHub to your local machine. Open your terminal and execute the following commands:

    git clone git@github.com:dev-geof/final-state-transformer.git
     cd final-state-transformer
     

    -

    Installation

    -

    First ensure that you have Python 3.9.13 or higher version installed on your system. You can check your Python version by running the following command in your terminal: -

    python --version
    -
    -If Python is not installed or is an older version, please download and install the latest version from the official Python website.

    -

    You can install final-state-transformer within a virtual environement. The venv environement is a lightweight solution for creating virtual environement in python. Docker images are not yet available. To create a new virtual environement: +

    It is recommended to install the FST toolkit within a virtual environment. The python "venv" environment is a lightweight solution to install the necessary dependencies.

    python3 -m venv env
     source env/bin/activate
    +python -m pip install -e . -r requirements.txt
     

    -

    To install final-state-transformer and its dependencies you can use the following command: -

    python -m pip install -e . -r requirements.txt
    -

    +

    Software Implementation

    +

    The FST software features a modular python architecture designed to facilitate the implementation, the training and the evaluation of Transformer encoder networks. The core structure is organized into three main tools and several utilities.

    +

    Main Tools and Utilities

    +

    The main tools provide essential functionalities for various stages of the machine learning pipeline. These stages include data preparation, model training, and evaluation. Data preparation tools ensure that raw data is cleaned, formatted, and features are engineered for optimal input into the model. Training tools encompass scripts and utilities for initiating and monitoring the training process, optimizing hyper- parameters, and supporting distributed training across CPUs or GPUs. Evaluation tools offer methods for calculating performance metrics, validating models, and interpreting model outputs.

    +

    The utilities support the main tools and enhance their functionality. The Model utilities define and manage the architecture and parameters of Transformer-based models, including saving and loading models. Plotting utilities provide tools for visualizing training progress, model performance, and generating interactive plots. Data utilities handle efficient loading, batching, and management of datasets. Configu- ration utilities manage settings and parameters through configuration files, ensuring consistent experiment setups. Finally, Callbacks offer functions for logging progress, early stopping, and checkpointing models during training, improving the training process’s efficiency and reliability.

    +

    Entry Points

    +

    The setup configuration specifies entry points for the tree main tool scripts, enabling users to execute data preparation, model training, and evaluation directly from the command line. This facilitates streamlined workflows and simplifies the execution of common tasks. The toolkit leverages YAML configuration files to allow users to pilot and manage all these scripts and tools efficiently. These configuration files store settings for data paths, hyper-parameters, training schedules, model configurations, and other experimen- tal parameters. The configuration system parses these files, ensuring that the entire pipeline—from data preparation to model evaluation adheres to the specified settings.

    +
    usage:  fst-preparation [-h] [--configfile CONFIGFILE]
    +        fst-training [-h] [--configfile CONFIGFILE]
    +        fst-validation [-h] [--configfile CONFIGFILE]
    +
    +optional arguments:
    +        -h, --help                  Show this help message and exit
    +        --configfile CONFIGFILE     YAML configuration file path
    +
    +

    Modularity

    +

    The FST toolkit is designed with extensibility in mind, allowing users to easily adapt and extend the framework for different high-energy physics tasks. The modular design enables the integration of custom models, additional data processing techniques, and new evaluation metrics without altering the core structure of the toolkit.