BFKL-MLTrainer is a project that facilitates the use of machine learning models for the BFKL (Balitsky-Fadin-Kuraev-Lipatov) kernel. It provides a command-line interface (CLI) through the main.cpp
file, allowing users to perform various tasks related to BFKL calculations, predictions, and model training.
Before you begin, ensure you have the following dependencies installed:
- C++ compiler (e.g., g++)
- Python 3.x
- Matplotlib (for plotting, install using
pip install matplotlib
) - Required Python libraries specified in
requirements.txt
-
Clone the repository to your local machine:
git clone https://github.com/moh-maher/BFKL-MLTrainer.git
-
Navigate to the project directory:
cd BFKL-MLTrainer
-
Install the required Python libraries using
pip
:pip install -r requirements.txt
The main.cpp
file provides a command-line interface with the following options:
-
1. Predict data: Choose this option to make predictions using trained models.
-
2. Training data: Select this option to train a new model or use preexisting data for training.
-
3. Plotting LLA/NLA predictions: Use this option to create plots for LLA/NLA predictions.
If you choose option 1, you can further select:
-
LLA BFKL Predictions: Run LLA BFKL prediction script (
inference/LLA_bfkl_predictor.py
). -
NLA BFKL Predictions: Run NLA BFKL prediction script (
inference/NLA_bfkl_predictor.py
).
If you choose option 2, you can:
-
New data: Compile and run data generation code (
src/data_generator.cpp
) to create new data for model training. -
Preexist data: Choose between LLA or NLA model training scripts located in
model_training
directory (model_training/LLA_bfkl_training.py
ormodel_training/NLA_bfkl_training.py
).
If you choose option 3, you can create plots for LLA/NLA predictions by compiling and running the plotting code (src/plotting.cpp
) with Python integration.
This project is licensed under the MIT License - see the LICENSE file for details.
This README file provides an overview of the project and how to use the main.cpp
CLI for various tasks related to the BFKL-MLTrainer project. You can customize this README further to include specific details about your project's functionalities, examples of usage, and additional sections or information as needed.