Here are some software projects I’ve been working on. I believe sharing code helps everyone learn and build better tools together. My intention is to find a middle ground between vibe coding and scratch coding, as I build softwares in the that aim to streamline code production by packaging commonly used functionalities in deep learning project.
These projects mostly stem from problems I’ve encountered in my own research, and I hope they might be useful to others facing similar challenges. While they’re not perfect, I’ve tried to document them well and make them accessible to researchers and developers who might find them helpful.
List of Active Softwares
zcsearch: Zero Cost Search is a Python/PyTorch package that implements an ensemble score based on three well-established meta-algorithms for efficient (virtually zero computational cost) neural architecture search. It helps you build neural networks tailored to your problem. The package is easy to use, provides visualizations for model selection, and comes with extensive documentation. The final output is a PyTorch model, which can be wrapped for compatibility with ONNX and other frameworks.
To cite zcsearch:
@software{zcsearch,
author = {Sadoune, Igor},
title = {Zero-Cost-Search: A Python Package for Zero-Cost Neural Architecture Search},
year = {2025},
url = {https://github.com/IgorSadoune/zcsearch},
version = {0.1.5},
description = {A robust and zero-cost way to find neural architectures that fit your data.}
}
neuralm: This is Python/PyTorch software for generating neural architectures from a simple YAML file. With neuralm
you can produce highly complex models (e.g., transformers) and custom topologies. The final output is a PyTorch model, which can be wrapped for compatibility with ONNX and other frameworks.
Input YAML example for GANs:
model_type: gan
name: MyGAN
latent_size: 100
generator_layers:
- type: linear
in_features: 100
out_features: 256
is_first: true
- type: relu
- type: linear
in_features: 256
out_features: 512
- type: relu
- type: linear
in_features: 512
out_features: 784
- type: sigmoid
discriminator_layers:
- type: linear
in_features: 784
out_features: 512
- type: leakyrelu
negative_slope: 0.2
- type: linear
in_features: 512
out_features: 256
- type: leakyrelu
negative_slope: 0.2
- type: linear
in_features: 256
out_features: 1
- type: sigmoid
To cite this software:
@software{neuralm,
author = {Sadoune, Igor},
title = {NeuralM: A Neural Network Model Builder},
year = {2025},
url = {https://github.com/IgorSadoune/neuralm},
version = {0.1.0},
description = {A flexible framework for building and training neural network models with YAML configuration.}
}
mpmg: The MPMG is a framework for modeling and analyzing strategic interactions in environments where agents seek to minimize costs while competing for resources. It provides a structured approach to understanding decision-making processes in economic and game-theoretic contexts. The mpmg
package provides an environment for Multiagent Reinforcement Learning (MARL) in this context, and has been developed for a research project of mine (see Research). In contrast to zcsearch
and neuralm
which are for the general user, mpmg
has originally been built for a specific purpose. However, it is still a good example and starting point for people whishing to learn or experiment with MARL. Note that this package only provides an environment for MARL models. To cite mpmg
:
@software{mpmg,
author = {Sadoune, Igor},
title = {MPMG: The Minimum Price Markov Game},
year = {2024},
url = {https://github.com/IgorSadoune/mpmg},
version = {0.2.4},
description = {A modular environment designed for studying the social dilemma concept in algorithmic game theory.}
}