-
Notifications
You must be signed in to change notification settings - Fork 488
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
Update Weights & Biases Integration + Add Prediction Visualization for Object Detection #1010
Update Weights & Biases Integration + Add Prediction Visualization for Object Detection #1010
Conversation
+1 would love to see WandB integration |
Hi @BloodAxe |
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.
Thank you for the code contribution.
The wandb boxes feature looks awesome.
I am not sure I understand the need for Artifact. How is that different from uploading a file to the experiment using wandb.save? Will it be linked to the experiment?
please find my comments regarding the code placement, naming, documentation and some questions inline.
Hi @ofrimasad Artifacts and runs form a directed graph because a given W&B run can use another run’s output artifact as input. You do not need to define pipelines ahead of time. Weights and Biases will create the DAG for you when you use and log artifacts. (Sample YOLO-NAS Checkpoint Artifact | Sample YOLO-NAS Checkpoint Lineage) For more information about exploring an artifacts graph, you can check Explore and traverse artifact graphs. |
…ensured that the run is always initialized
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.
I see that you still kept the option to init wandb from outside the logger.
In that case please add a warning that will be presented if the run was initialized from outside the logger.
"The wandb run was initialized from outside of the WandbSGLogger. This means that SG cannot control the run ID to which this session will be logged. The current run id is: {run.id}"
Thanks
457ecde
to
76e324c
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.
please use the common logging behavior of SG
Hi @ofrimasad is there any more changes we need to make as part of this PR? |
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.
LGTM
Thank you for the code contribution @soumik12345. :) |
Thanks a lot for your reviews @ofrimasad ❤️ |
Changes made in this PR
Log inference results to Weights & Biases
Fixes #953
Optionally log inference results for object detection in Weights & Biases dashboard using bounding-box image overlays.
This PR adds an optional parameter
visualize_on_wandb
toImagesDetectionPrediction.show()
which when set toTrue
would log the predictions using the bounding-box image overlays in the Weights & Biases dashboard of the user.Here's a sample code:
This would log the images to be visualized in a media panel in a Weights & Biases dashboard.
👇 Here's how the results would look
Here's a video of how to interact with the bounding-box overlay interface on Weights & Biases 👇
Screen.Recording.2023-05-09.at.6.24.17.PM.mov
Update
WandBSGLogger
Fixes #980
Fixes #1008
WandBSGLogger
will now callwandb.init()
only if it has not been called earlier.sync_tensorboard
toWandBSGLogger
that automatically syncs TensorBoard with the wandb run.👇 Here's a sample training code that works with the changes made in this PR
👇 Here's a sample Weights & Biases Run demonstrating the features
👇 Tensorboard instance synced with Weights & Biases Run
👇 Lineage of Model Checkpoints