-
Notifications
You must be signed in to change notification settings - Fork 45
0.9.0 #787
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Fix plot * Updates for torch.GradScaler
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @roman-kh, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request appears to be part of the preparation for the 0.9.0 release, incorporating minor fixes and updates. It includes an update to the README badge link, a small adjustment to PyTorch GradScaler usage, and a fix for the plotting clear logic.
Highlights
- README Update: Updated the GitHub Actions status badge URL in the README.
- PyTorch Integration: Adjusted the initialization of
torch.GradScalerin the base PyTorch model class, specifying the device ('cuda') during instantiation. - Plotting Fix: Corrected the order of operations in the
clearmethod of the plotter, ensuring objects are removed from layers before clearing the axes.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configureGemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces updates for version 0.9.0, including a PyTorch API modernization and a robustness fix in the plotting utility. A potential issue was identified in batchflow/models/torch/base.py concerning the GradScaler instantiation, which could lead to errors in CPU-only environments. A code suggestion has been provided to rectify this. The change in batchflow/plotter/plot.py improves the reliability of the clear method by reordering operations. The README badge update is a straightforward maintenance task.
| self.make_optimizer() | ||
| self.make_decay() | ||
| self.scaler = torch.cuda.amp.GradScaler() | ||
| self.scaler = torch.GradScaler("cuda") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| for layer in self.layers: | ||
| for obj in layer.objects: | ||
| obj.remove() | ||
| self.ax.clear() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
7ced5c0 to
1805059
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR prepares for the 0.9.0 release by refining chart plotting behavior, updating torch model infrastructure, and improving CI workflows.
- The plotting module now clears the axes after object removal.
- The torch model now initializes the GradScaler using torch.GradScaler("cuda").
- The CI workflow is updated with conditional OS matrix values and duplicate test steps.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| batchflow/plotter/plot.py | Reordered clearing of axes in the clear() function |
| batchflow/models/torch/base.py | Updated GradScaler initialization for torch models |
| README.md | Updated status badge link |
| .github/workflows/test-install.yml | Updated matrix OS values and duplicate test steps in workflow |
Comments suppressed due to low confidence (2)
batchflow/models/torch/base.py:686
- Confirm that torch.GradScaler in the current environment correctly accepts 'cuda' as an argument and provides the intended behavior compared to torch.cuda.amp.GradScaler().
self.scaler = torch.GradScaler("cuda")
batchflow/plotter/plot.py:861
- The call to self.ax.clear() has been moved after removing objects. Verify that clearing the axes at this point aligns with the intended side effects, as the removal calls may become redundant if the axes are cleared afterwards.
self.ax.clear()
| - name: Run basic tests | ||
| run: | | ||
| cd tests | ||
| uv run python -m pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py | ||
| - name: Run basic tests | ||
| run: | | ||
| cd tests | ||
| uv run python -m pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py |
Copilot
AI
Jun 11, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are duplicate 'Run basic tests' steps in the workflow. Consolidate these identical steps to streamline the CI configuration.
| - name: Run basic tests | |
| run: | | |
| cd tests | |
| uv run python -m pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py | |
| - name: Run basic tests | |
| run: | | |
| cd tests | |
| uv run python -m pytest --disable-pytest-warnings -v dataset_test.py filesindex_test.py datasetindex_test.py |
No description provided.