short alias lmur
LEMUR - Learning, Evaluation, and Modeling for Unified Research
The original open-source version of the LEMUR dataset was developed by Arash Torabi Goodarzi, Roman Kochnev and Zofia Antonina Bentyn at the Computer Vision Laboratory, University of Würzburg, Germany, under the supervision and technical guidance of Dr. Dmitry Ignatov, whose foundational work established the basis for the project.
The NN Dataset includes the following key modules within the ab.nn package:
AlexNet, ResNet, VGG, and more.For Linux/Mac:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
For Windows:
python3 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
It is assumed that CUDA 13.0 is installed; otherwise, consider replacing 'cu130' with the appropriate version. Some neural network training tasks require GPUs with at least 24 GB of memory.
Create a virtual environment, activate it, and run the following command to install all the project dependencies:
python -m pip install --upgrade pip
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
To contribute a new neural network (NN) model to the NN Dataset, please ensure the following criteria are met:
(batch, channel, height, width).(number of classes,).{'lr': 0.24, 'momentum': 0.93, 'dropout': 0.51}.batch = in_shape[0] channel_number = in_shape[1] image_size = in_shape[2] class_number = out_shape[0] learning_rate = prm['lr'] momentum = prm['momentum'] dropout = prm['dropout'].def supported_hyperparameters(): return {'lr', 'momentum', 'dropout'}train_setup(self, prm)learn(self, train_data)criteria and optimizer, while the second implements the training pipeline. See a simple implementation in the AlexNet model.python -m ab.nn.train -c img-classification_cifar-10_acc_ComplexNet -f complex -t 100 -e 5
Before creating a pull request, run all tests in test.py to ensure that your changes do not break the core functionality of the NN Dataset.
See more examples of models in /ab/nn/nn and generated statistics in /ab/nn/stat.
The LEMUR neural network checkpoints on Hugging Face .
Remove an old version of the LEMUR Dataset and its database:
pip uninstall nn-dataset -y
rm -rf db
Installing the stable version:
pip install --no-cache-dir nn-dataset --upgrade --extra-index-url https://download.pytorch.org/whl/cu130
Installing from GitHub to get the most recent code and statistics updates:
pip install git+https://github.com/ABrain-One/nn-dataset --upgrade --force --extra-index-url https://download.pytorch.org/whl/cu130
Adding functionality to export data to Excel files and generate plots for analyzing neural network performance:
pip install nn-dataset[stat] --upgrade --extra-index-url https://download.pytorch.org/whl/cu130
and export/generate:
python -m ab.stat.export
Standard use cases:
Run the automated training process for this model (e.g., a new ComplexNet training pipeline configuration):
python -m ab.nn.train -f complex -c img-classification_cifar-10_acc_ComplexNet -l 0.017 --min_learning_rate 0.013 -m 0.025 --min_momentum 0.022 -b 7 --min_batch_binary_power 8 --max_batch_binary_power 9
or for all image segmentation models using a fixed range of training parameters and transformer:
. train.sh -c img-segmentation -f echo --min_learning_rate 1e-4 -l 1e-2 --min_momentum 0.8 -m 0.99 --min_batch_binary_power 2 -b 6
train.sh internally calls ab.nn.train, offering a shorter way to run the program. Both scripts accept the same input flags and can be used interchangeably.
To reproduce previously obtained results, provide fixed values for the training parameters in JSON format. The parameter names should match those returned by the supported_hyperparameters() function of the NN model.
Example command:
. train.sh -c img-classification_cifar-10_acc_ComplexNet -f complex -p '{"lr": 0.017, "momentum": 0.022 , "batch": 32}'
where:
-c specifies the training pipeline,
-f selects the preprocessing algorithm,
-p sets the hyperparameters explicitly (e.g., learning rate, momentum, batch size) using a JSON string.
. train.sh -h
Add your new neural network model to the ab/nn/nn directory and proceed with your experiments (see Contribution for details).
The LEMUR NN Dataset API (ab.nn.api) is the dedicated programmatic interface for both querying validated deep learning experiment data and submitting new neural network configurations for automatic training and archival. It is the essential layer supporting modern AutoML systems, including the NNGPT framework.
The API solves the problem of costly and time-consuming model validation. By providing two distinct and powerful functions, it transforms the bottleneck of "waiting for results" into two key steps: instant query and automated validation.
check_nn, and the results are immediately fed back into the dataset via data(), enabling the LLM to iteratively improve its quality based on its own outputs.The core value of the API is the ability to retrieve complete, validated experimental records and submit new code for verification.
data() Function for Data Retrievaldef data(...) -> pandas.DataFrame
| Data Type Extracted | DataFrame Column Name | Description |
|---|---|---|
| Model Python Code | 'nn_code' | The exact Python code (as a string) defining the neural network's architecture. |
| Hyperparameters | 'prm' | The exact dictionary of hyperparameters (e.g., {'lr': 0.01, 'momentum': 0.9}) used for this specific run. |
| Performance Metric | 'accuracy' | The metric value (e.g., accuracy) achieved in the experiment, recorded at the 'epoch' specified. |
| Execution Time | 'duration' | The wall-clock time required for the training run, ns. |
Mechanism: Users filter the database using optional arguments (task, dataset, nn, etc.). The returned DataFrame allows external programs (such as statistical models or benchmark scripts) to easily consume the structured data for large-scale analysis. The optional only_best_accuracy=True ensures efficiency by returning only the best-performing trial for each unique configuration.
check_nn() Function for NN Validationdef check_nn(nn_code: str, task: str, dataset: str, metric: str, prm: dict, ...) -> tuple[str, float, float, float]
This function is the submission endpoint for new models.
nn_code (as a string), the prm dictionary, and the context (task, dataset, metric).epoch_limit_minutes).str): An automatically generated unique ID for the archived model.float): The measured final performance.float): A single metric balancing performance against compute efficiency.float): A score assessing the structural integrity of the submitted code.The LEMUR API is designed for artificial agents, as well as for students and scientists. Using data(), provides immediate access to validated performance data derived from extensive computations. Instead of dedicating weeks of expensive hardware time to replicate known results or blindly test configurations, you can now:
check_nn() to automate the validation of your new, unique architectures.All versions of this project are compatible with AI Linux and can be seamlessly executed within the AI Linux Docker container.
Installing the latest version of the project from GitHub
docker run --rm -u $(id -u):ab -v $(pwd):/a/mm abrainone/ai-linux:cv bash -c "[ -d nn-dataset ] && git -C nn-dataset pull || git -c advice.detachedHead=false clone --depth 1 https://github.com/ABrain-One/nn-dataset"
Running a quick training script:
docker run --rm -u $(id -u):ab --shm-size=16G -v $(pwd)/nn-dataset:/a/mm abrainone/ai-linux:cv bash -c ". train.sh -c img-classification_cifar-10_acc_ComplexNet -f complex -l 0.017 --min_learning_rate 0.013 -m 0.025 --min_momentum 0.022 -b 7 --min_batch_binary_power 8 --max_batch_binary_power 9"
If recently added dependencies are missing in the AI Linux, you can create a container from the Docker image abrainone/ai-linux:cv, install the missing packages (preferably using pip install <package name>), and then create a new image from the container using docker commit <container name> <new image name>. You can use this new image locally or push it to the registry for deployment on the computer cluster.
If you find the LEMUR Neural Network Dataset to be useful for your research, please consider citing our articles NN Dataset and LEMUR 2:
@article{ABrain.NN-Dataset,
title={LEMUR Neural Network Dataset: Towards Seamless AutoML},
author={Goodarzi, Arash Torabi and Kochnev, Roman and Khalid, Waleed and Qin, Furui and Uzun, Tolgay Atinc and Dhameliya, Yashkumar Sanjaybhai and Kathiriya, Yash Kanubhai and Bentyn, Zofia Antonina and Ignatov, Dmitry and Timofte, Radu},
journal={arXiv preprint arXiv:2504.10552},
year={2025}
}
@InProceedings{ABrain.LEMUR2,
title={{LEMUR} 2: Unlocking Neural Network Diversity for {AI}},
author={Uzun, Tolgay Atinc and Khalid, Waleed and Din, Saif U and Mulukuledu, Sai Revanth and Singh, Akashdeep and Vysyaraju, Chandini and Duvvuri, Raghuvir and Goyal, Avi and Lukhi, Yashkumar Rajeshbhai and Hussain, Ahsan and Jesani, Krunal and Shrestha, Usha and Mittal, Yash and Kochnev, Roman and Kadam, Pritam and Ikram, Mohsin and Moradiya, Harsh Rameshbhai and Arslanian, Alice and Ignatov, Dmitry and Timofte, Radu},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW)},
pages = {3291--3300},
year={2026}
}
This project is distributed under the following licensing terms:
short alias lmur
LEMUR - Learning, Evaluation, and Modeling for Unified Research
The original open-source version of the LEMUR dataset was developed by Arash Torabi Goodarzi, Roman Kochnev and Zofia Antonina Bentyn at the Computer Vision Laboratory, University of Würzburg, Germany, under the supervision and technical guidance of Dr. Dmitry Ignatov, whose foundational work established the basis for the project.
The NN Dataset includes the following key modules within the ab.nn package:
AlexNet, ResNet, VGG, and more.For Linux/Mac:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
For Windows:
python3 -m venv .venv
.venv\Scripts\activate
python -m pip install --upgrade pip
It is assumed that CUDA 13.0 is installed; otherwise, consider replacing 'cu130' with the appropriate version. Some neural network training tasks require GPUs with at least 24 GB of memory.
Create a virtual environment, activate it, and run the following command to install all the project dependencies:
python -m pip install --upgrade pip
pip install -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu130
To contribute a new neural network (NN) model to the NN Dataset, please ensure the following criteria are met:
(batch, channel, height, width).(number of classes,).{'lr': 0.24, 'momentum': 0.93, 'dropout': 0.51}.batch = in_shape[0] channel_number = in_shape[1] image_size = in_shape[2] class_number = out_shape[0] learning_rate = prm['lr'] momentum = prm['momentum'] dropout = prm['dropout'].def supported_hyperparameters(): return {'lr', 'momentum', 'dropout'}train_setup(self, prm)learn(self, train_data)criteria and optimizer, while the second implements the training pipeline. See a simple implementation in the AlexNet model.python -m ab.nn.train -c img-classification_cifar-10_acc_ComplexNet -f complex -t 100 -e 5
Before creating a pull request, run all tests in test.py to ensure that your changes do not break the core functionality of the NN Dataset.
See more examples of models in /ab/nn/nn and generated statistics in /ab/nn/stat.
The LEMUR neural network checkpoints on Hugging Face .
Remove an old version of the LEMUR Dataset and its database:
pip uninstall nn-dataset -y
rm -rf db
Installing the stable version:
pip install --no-cache-dir nn-dataset --upgrade --extra-index-url https://download.pytorch.org/whl/cu130
Installing from GitHub to get the most recent code and statistics updates:
pip install git+https://github.com/ABrain-One/nn-dataset --upgrade --force --extra-index-url https://download.pytorch.org/whl/cu130
Adding functionality to export data to Excel files and generate plots for analyzing neural network performance:
pip install nn-dataset[stat] --upgrade --extra-index-url https://download.pytorch.org/whl/cu130
and export/generate:
python -m ab.stat.export
Standard use cases:
Run the automated training process for this model (e.g., a new ComplexNet training pipeline configuration):
python -m ab.nn.train -f complex -c img-classification_cifar-10_acc_ComplexNet -l 0.017 --min_learning_rate 0.013 -m 0.025 --min_momentum 0.022 -b 7 --min_batch_binary_power 8 --max_batch_binary_power 9
or for all image segmentation models using a fixed range of training parameters and transformer:
. train.sh -c img-segmentation -f echo --min_learning_rate 1e-4 -l 1e-2 --min_momentum 0.8 -m 0.99 --min_batch_binary_power 2 -b 6
train.sh internally calls ab.nn.train, offering a shorter way to run the program. Both scripts accept the same input flags and can be used interchangeably.
To reproduce previously obtained results, provide fixed values for the training parameters in JSON format. The parameter names should match those returned by the supported_hyperparameters() function of the NN model.
Example command:
. train.sh -c img-classification_cifar-10_acc_ComplexNet -f complex -p '{"lr": 0.017, "momentum": 0.022 , "batch": 32}'
where:
-c specifies the training pipeline,
-f selects the preprocessing algorithm,
-p sets the hyperparameters explicitly (e.g., learning rate, momentum, batch size) using a JSON string.
. train.sh -h
Add your new neural network model to the ab/nn/nn directory and proceed with your experiments (see Contribution for details).
The LEMUR NN Dataset API (ab.nn.api) is the dedicated programmatic interface for both querying validated deep learning experiment data and submitting new neural network configurations for automatic training and archival. It is the essential layer supporting modern AutoML systems, including the NNGPT framework.
The API solves the problem of costly and time-consuming model validation. By providing two distinct and powerful functions, it transforms the bottleneck of "waiting for results" into two key steps: instant query and automated validation.
check_nn, and the results are immediately fed back into the dataset via data(), enabling the LLM to iteratively improve its quality based on its own outputs.The core value of the API is the ability to retrieve complete, validated experimental records and submit new code for verification.
data() Function for Data Retrievaldef data(...) -> pandas.DataFrame
| Data Type Extracted | DataFrame Column Name | Description |
|---|---|---|
| Model Python Code | 'nn_code' | The exact Python code (as a string) defining the neural network's architecture. |
| Hyperparameters | 'prm' | The exact dictionary of hyperparameters (e.g., {'lr': 0.01, 'momentum': 0.9}) used for this specific run. |
| Performance Metric | 'accuracy' | The metric value (e.g., accuracy) achieved in the experiment, recorded at the 'epoch' specified. |
| Execution Time | 'duration' | The wall-clock time required for the training run, ns. |
Mechanism: Users filter the database using optional arguments (task, dataset, nn, etc.). The returned DataFrame allows external programs (such as statistical models or benchmark scripts) to easily consume the structured data for large-scale analysis. The optional only_best_accuracy=True ensures efficiency by returning only the best-performing trial for each unique configuration.
check_nn() Function for NN Validationdef check_nn(nn_code: str, task: str, dataset: str, metric: str, prm: dict, ...) -> tuple[str, float, float, float]
This function is the submission endpoint for new models.
nn_code (as a string), the prm dictionary, and the context (task, dataset, metric).epoch_limit_minutes).str): An automatically generated unique ID for the archived model.float): The measured final performance.float): A single metric balancing performance against compute efficiency.float): A score assessing the structural integrity of the submitted code.The LEMUR API is designed for artificial agents, as well as for students and scientists. Using data(), provides immediate access to validated performance data derived from extensive computations. Instead of dedicating weeks of expensive hardware time to replicate known results or blindly test configurations, you can now:
check_nn() to automate the validation of your new, unique architectures.All versions of this project are compatible with AI Linux and can be seamlessly executed within the AI Linux Docker container.
Installing the latest version of the project from GitHub
docker run --rm -u $(id -u):ab -v $(pwd):/a/mm abrainone/ai-linux:cv bash -c "[ -d nn-dataset ] && git -C nn-dataset pull || git -c advice.detachedHead=false clone --depth 1 https://github.com/ABrain-One/nn-dataset"
Running a quick training script:
docker run --rm -u $(id -u):ab --shm-size=16G -v $(pwd)/nn-dataset:/a/mm abrainone/ai-linux:cv bash -c ". train.sh -c img-classification_cifar-10_acc_ComplexNet -f complex -l 0.017 --min_learning_rate 0.013 -m 0.025 --min_momentum 0.022 -b 7 --min_batch_binary_power 8 --max_batch_binary_power 9"
If recently added dependencies are missing in the AI Linux, you can create a container from the Docker image abrainone/ai-linux:cv, install the missing packages (preferably using pip install <package name>), and then create a new image from the container using docker commit <container name> <new image name>. You can use this new image locally or push it to the registry for deployment on the computer cluster.
If you find the LEMUR Neural Network Dataset to be useful for your research, please consider citing our articles NN Dataset and LEMUR 2:
@article{ABrain.NN-Dataset,
title={LEMUR Neural Network Dataset: Towards Seamless AutoML},
author={Goodarzi, Arash Torabi and Kochnev, Roman and Khalid, Waleed and Qin, Furui and Uzun, Tolgay Atinc and Dhameliya, Yashkumar Sanjaybhai and Kathiriya, Yash Kanubhai and Bentyn, Zofia Antonina and Ignatov, Dmitry and Timofte, Radu},
journal={arXiv preprint arXiv:2504.10552},
year={2025}
}
@InProceedings{ABrain.LEMUR2,
title={{LEMUR} 2: Unlocking Neural Network Diversity for {AI}},
author={Uzun, Tolgay Atinc and Khalid, Waleed and Din, Saif U and Mulukuledu, Sai Revanth and Singh, Akashdeep and Vysyaraju, Chandini and Duvvuri, Raghuvir and Goyal, Avi and Lukhi, Yashkumar Rajeshbhai and Hussain, Ahsan and Jesani, Krunal and Shrestha, Usha and Mittal, Yash and Kochnev, Roman and Kadam, Pritam and Ikram, Mohsin and Moradiya, Harsh Rameshbhai and Arslanian, Alice and Ignatov, Dmitry and Timofte, Radu},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW)},
pages = {3291--3300},
year={2026}
}
This project is distributed under the following licensing terms: