.
├── mnist-inrs/ # Dataset directory
├── src/ # Main source code
│ ├── core/ # Core functionality
│ ├── data/ # Data handling
│ └── models/ # Model implementations
├── scripts/ # Execution scripts
│ ├── show_2.py # Data visualization
│ ├── sanity_mlp.py # MLP model testing
│ └── sanity_transformer.py # Transformer testing
└── environment.yaml # Conda environment file
- Place your dataset in the
mnist-inrsdirectory at the project root - Use uv to install :
uv venv uv pip install -e .
Save with thisuv add your_package
The project supports:
DatasetType.MNIST: Complete MNIST datasetDatasetType.CIFAR10: Three selected classes (airplane, bird, automobile)
Run scripts using:
python -m scripts.script_nameCurrent scripts:
show_2.py: Visualize datasetsanity_mlp.py: Test MLP modelsanity_transformer.py: Test Transformer model
The configuration system (defined in src/core/config.py) is a crucial component of this project. It provides a robust and type-safe way to configure all aspects of the experiments.
The default dataset split ratio is:
- Training: 80%
- Validation: 10%
- Test: 10%
For quick experimentation, use:
from src.core.config import MLPExperiment
config = MLPExperimentConfig.default()For more detailed configuration options and parameters, refer to the docstrings in src/core/config.py.