Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #72 +/- ##
==========================================
- Coverage 88.36% 87.91% -0.45%
==========================================
Files 24 24
Lines 3583 3559 -24
==========================================
- Hits 3166 3129 -37
- Misses 417 430 +13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
Updates project runtime requirements (Python/TensorFlow) and adjusts TensorFlow/Keras integration to remain compatible with newer TF/Keras behaviors (notably model serialization and layer/optimizer handling).
Changes:
- Bump supported Python baseline to 3.9+ and update TensorFlow pin to
>=2.16.1,<2.17(plus CI matrix updates). - Update model save/load behavior to use a
model.kerasartifact and attempt custom-layer deserialization support. - Keras-compatibility tweaks in core training/inference (optimizer deserialization, gradient tape usage, InputLayer handling) and removal of the FNO layer/tests.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Raises Python requirement and updates TensorFlow dependency pins. |
.github/workflows/pull_request_tests_tf_latest.yml |
Updates PR test matrix to drop 3.8 and add 3.12 coverage. |
.github/workflows/linter.yml |
Removes super-linter job, leaving Ruff as the lint gate. |
phygnn/model_interfaces/tf_model.py |
Saves to model.keras and loads with discovered custom_objects. |
phygnn/layers/custom_layers.py |
Adjusts several custom layer constructors for Keras deserialization; removes FNO implementation. |
phygnn/base.py |
Updates prediction path to avoid calling Keras 3 InputLayer directly; formatting/logging changes. |
phygnn/phygnn.py |
Uses optimizers.deserialize for optimizer config; removes explicit tape variable watching. |
tests/test_layers.py |
Removes FNO tests; updates a nested hidden-layer config from Conv2D to Conv3D. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fix: remove name from get_config for FunctionalLayer
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ort, add input shape handling, and improve skip connection functionality in tests
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…alization / deserialization logic
|
@grantbuster There's not a ton to review here. Main "reviewable" is whether any breaking changes from keras 3 migration are worth caring about. I'll interpret emoji reactions and / or silence as approval :) |
Migrating to keras 3, tensorflow < 2.21, and python < 3.14
tf.keras->keras) and being able to use pytorch or JAX as a backend.Lots of auto-formatting changes but real net changes are fairly minimal, almost entirely in
custom_layers.py, and consist of the following:get_configmethodsbuildmethods and child build calls.