Skip to content

Dev#8

Merged
JeremieGince merged 15 commits intomainfrom
dev
Oct 16, 2025
Merged

Dev#8
JeremieGince merged 15 commits intomainfrom
dev

Conversation

@JeremieGince
Copy link
Contributor

@JeremieGince JeremieGince commented Oct 15, 2025

Description

This pull request modernizes the project's Python workflow by migrating from poetry and manual virtual environment management to the faster uv tool across all CI pipelines, and updates the documentation and example notebooks accordingly. It also includes some improvements and corrections in the example code and documentation.

CI/CD and Dependency Management Modernization:

  • Migrated all GitHub Actions workflows (build_dist.yml, docs.yml, tests.yml) from using poetry and manual venv activation to using uv for environment creation, dependency installation, and running commands. This includes adding the astral-sh/setup-uv action and updating all relevant commands to use uv equivalents. [1] [2] [3] [4] [5] [6] [7]

  • Updated the README.md to replace all poetry instructions with uv, provided extra guidance for CUDA installation, and clarified developer setup steps.

Documentation and Example Code Improvements:

  • Expanded the hyperparameter search space for neural network models in the README.md and example notebooks, and fixed minor code issues (e.g., using torch.nn.Sequential instead of torch.Sequential, and updating dataset loading calls). [1] [2] [3] [4]

  • Added detailed docstrings to the NIFCNN class in both automl_pipeline_tutorial.ipynb and ligthning_pipeline_tutorial.ipynb for better clarity on the model architecture and data flow. [1] [2]

  • Simplified the NIFCNN model by removing unused XX coupling components from the code and parameters, reflecting a focus on Z and ZZ couplings. [1] [2] [3] [4] [5]

Notebook Usability Enhancements:

  • Added warning suppression in the tutorial notebook for cleaner output, improved output folder logic, and clarified recommended values for training parameters. [1] [2] [3]

  • Improved notebook output presentation by separating timing and best hyperparameter reporting into distinct cells and adding explanatory markdown.


Checklist

Please complete the following checklist when submitting a PR. The PR will not be reviewed until all items are checked.

  • All new features include a unit test.
    Make sure that the tests passed and the coverage is
    sufficient by running pytest tests --cov=src --cov-report=term-missing.
  • All new functions and code are clearly documented.
  • The code is formatted using Black.
    You can do this by running black src tests.
  • The imports are sorted using isort.
    You can do this by running isort src tests.
  • The code is type-checked using Mypy.
    You can do this by running mypy src tests.

github-actions bot and others added 15 commits October 10, 2025 21:42
Removed all XX coupling related code from the NIFCNN model in both automl and lightning pipeline tutorials, simplifying the Hamiltonian to only include local fields and ZZ couplings. Also updated job output folder paths to be absolute and include dataset and model names for better organization. Updated .gitignore to exclude new data and Cifar10 directories.
Added a comma for correct grammar in the description of the softmax step in both automl_pipeline_tutorial.ipynb and ligthning_pipeline_tutorial.ipynb notebooks.
Replaces Poetry with uv in GitHub Actions workflows and README instructions for environment and dependency management. Updates example commands and installation steps to use uv. Adds new NIF deep learning notebook and script, updates automl tutorial notebook with improved parameter recommendations and output structure, and removes poetry.lock in favor of uv.lock. Updates pyproject.toml accordingly.
Streamlined and updated the NIF deep learning Jupyter notebook with improved code structure, parameter handling, and device management. Removed the redundant Python script version to consolidate development in the notebook.
Updated build_dist.yml, docs.yml, and tests.yml workflows to replace manual venv activation and direct command calls with 'uv run'. This streamlines environment management and ensures all commands run within the correct virtual environment context.
Reduced 'max_time' from 5 to 2 minutes and 'inner_max_epochs' from 12 to 10, and 'inner_max_time' from 2 to 1 minute in the NIF deep learning notebook. Also cleaned up notebook metadata and outputs for consistency.
Reduced DEFAULT_INNER_MAX_EPOCHS from 10,000 to 1,024 and DEFAULT_INNER_MAX_TIME from 90 hours to 1 hour in AutoMLPipeline. This likely aims to shorten training runs for faster experimentation or testing.
Updated the README to include guidance on installing the package with CUDA support by using the `--extra cu128` flag.
Introduced markdown cells to document the workflow and added code cells for training and evaluating the NIFDL model using the LightningPipeline. Also included timing and metrics reporting, and clarified the structure of the notebook for better readability and reproducibility.
@github-actions
Copy link

github-actions bot commented Oct 16, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
685 675 99% 90% 🟢

New Files

No new covered files...

Modified Files

File Coverage Status
src/matchcake_opt/tr_pipeline/automl_pipeline.py 96% 🟢
TOTAL 96% 🟢

updated for commit: 8f83a7d by action🐍

@JeremieGince JeremieGince merged commit 4e0c962 into main Oct 16, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant