Merged
Conversation
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.
Fix example model
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.
Fix example model
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.
Update README.md
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.
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request modernizes the project's Python workflow by migrating from
poetryand manual virtual environment management to the fasteruvtool 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 usingpoetryand manualvenvactivation to usinguvfor environment creation, dependency installation, and running commands. This includes adding theastral-sh/setup-uvaction and updating all relevant commands to useuvequivalents. [1] [2] [3] [4] [5] [6] [7]Updated the
README.mdto replace allpoetryinstructions withuv, 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.mdand example notebooks, and fixed minor code issues (e.g., usingtorch.nn.Sequentialinstead oftorch.Sequential, and updating dataset loading calls). [1] [2] [3] [4]Added detailed docstrings to the
NIFCNNclass in bothautoml_pipeline_tutorial.ipynbandligthning_pipeline_tutorial.ipynbfor 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.
Make sure that the tests passed and the coverage is
sufficient by running
pytest tests --cov=src --cov-report=term-missing.You can do this by running
black src tests.You can do this by running
isort src tests.You can do this by running
mypy src tests.