-
Notifications
You must be signed in to change notification settings - Fork 217
Add job recipe notebook #3643
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
Add job recipe notebook #3643
Conversation
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 adds a comprehensive Job Recipe tutorial notebook to demonstrate how to use NVFLARE's Job Recipes for simplified federated learning job creation and execution. The tutorial covers different execution environments and provides practical examples using PyTorch.
- Converts job recipe documentation into an interactive tutorial notebook
- Demonstrates FedAvg recipe usage with three execution environments (SimEnv, PocEnv, ProdEnv)
- Includes supporting files for provisioning and client training scripts
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| examples/tutorials/job_recipe.ipynb | Main tutorial notebook explaining Job Recipe concepts with executable examples |
| examples/tutorials/project.yml | NVFLARE project configuration file for provisioning production environment |
| examples/tutorials/client.py | PyTorch training script used in the Job Recipe examples |
Comments suppressed due to low confidence (2)
examples/tutorials/job_recipe.ipynb:1
- The parameter name
startup_kit_locationis inconsistent with the documented parameter namestartup_kit_dirmentioned in line 221. This could cause confusion for users following the tutorial.
{
examples/tutorials/job_recipe.ipynb:1
- The recipe creation code is duplicated from lines 73-81. Consider defining the recipe once at the beginning of the notebook and reusing it across different environment examples to avoid code duplication.
{
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
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.
- add few change suggestions
- you also need to add a separate section on edge simulations in the ExecEnv, which you could point to different tutorials for edge, or briefly talk about it.
|
/build |
|
Minor comment. It looks good. In the future, we could add tutorials for adding filters and metric tracking. |
|
/build |
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.
add few comments
|
/build |
|
/build |
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.
overall LGTM with a few suggestions
|
/build |
dismiss changes fixed for merging
Fixes # . ### Description Following the job recipe doc, convert it to a tutorial notebook with hello-pt example. Pending further tests once the recipe env PRs are merged ### Types of changes <!--- Put an `x` in all the boxes that apply, and remove the not applicable items --> - [x] Non-breaking change (fix or new feature that would not break existing functionality). - [ ] Breaking change (fix or new feature that would cause existing functionality to change). - [ ] New tests added to cover the changes. - [ ] Quick tests passed locally by running `./runtest.sh`. - [ ] In-line docstrings updated. - [ ] Documentation updated.
Fixes # . ### Description Following the job recipe doc, convert it to a tutorial notebook with hello-pt example. Pending further tests once the recipe env PRs are merged ### Types of changes <!--- Put an `x` in all the boxes that apply, and remove the not applicable items --> - [x] Non-breaking change (fix or new feature that would not break existing functionality). - [ ] Breaking change (fix or new feature that would cause existing functionality to change). - [ ] New tests added to cover the changes. - [ ] Quick tests passed locally by running `./runtest.sh`. - [ ] In-line docstrings updated. - [ ] Documentation updated.
Fixes # .
Description
Following the job recipe doc, convert it to a tutorial notebook with hello-pt example.
Pending further tests once the recipe env PRs are merged
Types of changes
./runtest.sh.