-
Notifications
You must be signed in to change notification settings - Fork 9.3k
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
[NEW PR] Dedicated WandbLogger for MMDetection #7459
Conversation
Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
Codecov Report
@@ Coverage Diff @@
## dev #7459 +/- ##
==========================================
- Coverage 64.76% 64.72% -0.04%
==========================================
Files 351 358 +7
Lines 28465 29092 +627
Branches 4807 4940 +133
==========================================
+ Hits 18436 18831 +395
- Misses 9054 9261 +207
- Partials 975 1000 +25
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
Hey all, the |
Hey @ZwwWayne, @RangiLyu, @hhaAndroid, @jbwang1997 would love to get some feedback/review on this PR. Apologies to ping again. Just wanted to confirm that there's nothing remaining from my side on this. Thanks! |
Sorry for the later reply. We are currently busy with the vision release. We have planned to merge this pr in as soon as the next vision and I leave some comments below. Thank you so much for your valuable contribution. |
@ayulockin I will update with you. |
@ayulockin Hello
|
Yes I can remove this part.
Yes, wandb doesn't support instance segmentation as of yet. |
I see it's supported https://docs.wandb.ai/ref/python/data-types/imagemask. Each bbox comes with a mask_data to complete instance segmentation visualization |
@ayulockin i really like this PR, thx for implementing all the valuable functions! I am not a super duper expert in mlflow but from what i see from your code it might be that the functions you introduce in your PR are with minor changes also nicely usable for a smiliar mlflow hook. Do you there might be some generic functions to be put in a kind of "common" library to use e.g. for a similar mlflow hook extension? |
Hey @julled, glad you liked the work. I have not used MLFlow myself so can't say if we can abstract away some of the class methods as a utility that can be used for the MLFlow hook. The Also, the hook that this PR is introducing is adding functionalities that are specific to W&B. I hope this helps. |
Hey @hhaAndroid, yes logging mask_data is supported by W&B but the issue is that instance segmentation visualization is not supported by the UI properly. If the mask data is for semantic segmentation then the UI can render it nicely. Since MMDetection doesn't support semantic segmentation, I think the feature will not be very useful now. I can add the feature once instance segmentation visualization is supported by W&B. Thoughts? |
@ayulockin Thank you so much!! This PR was very useful for my project, and saved a lot of time. Actually, somehow |
Hey @HJoonKwon glad you found it useful. I am curious to know what kind of blocker did you face with |
@ayulockin Hello! Do you have any progress? |
Hey do you need config for training using |
Hey @hhaAndroid I was able to add the config saving feature the way you suggested. I was also able to log the config as W&B config and it feels like a good feature enhancement for the logger. Please let me know if it looks good or now. I will also provide a colab notebook that can act as a training resource. |
it's very good. |
Hey @hhaAndroid here's the colab notebook for training using Please let me know if you face any issue while running it. I have shared it from my GitHub repo. If you find it useful and educational for community, I can add it to README or docs. |
Hi @ayulockin , |
Thanks for your kind comment @ZwwWayne. I will provide a drive link soon. |
Hey @ZwwWayne here's the colab link: https://colab.research.google.com/drive/1RCSXHZwDZvakFh3eo9RuNrJbCGqD0dru?usp=sharing |
I had to add |
Thanks @ayulockin for putting this together, it has saved me lots of time! |
Hey @saulgoldsaga, this PR adds this feature. If You can use the same logic for training images. |
* [Fix] Adjust the order of get_classes and FileClient. (#7276) * delete -sv (#7277) Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> * wandb-integration * docstring * lint * log config+handle segmentation results * remove val logging * segmentation logging * metadata logging improved + remove best metadata * remove extra arg * train.py conflict * shuffle eval data+remove config * wandb config file * iter based logging + cleanup * minor update * minor update * minor fix * epoch and iter eval table * save and log config * Delete mask_rcnn_r50_fpn_1x_wandb_iter_coco.py Co-authored-by: Wencheng Wu <41542251+274869388@users.noreply.github.com> Co-authored-by: Yue Zhou <592267829@qq.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
* [Fix] Adjust the order of get_classes and FileClient. (open-mmlab#7276) * delete -sv (open-mmlab#7277) Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> * wandb-integration * docstring * lint * log config+handle segmentation results * remove val logging * segmentation logging * metadata logging improved + remove best metadata * remove extra arg * train.py conflict * shuffle eval data+remove config * wandb config file * iter based logging + cleanup * minor update * minor update * minor fix * epoch and iter eval table * save and log config * Delete mask_rcnn_r50_fpn_1x_wandb_iter_coco.py Co-authored-by: Wencheng Wu <41542251+274869388@users.noreply.github.com> Co-authored-by: Yue Zhou <592267829@qq.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
* [Fix] Adjust the order of get_classes and FileClient. (open-mmlab#7276) * delete -sv (open-mmlab#7277) Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> * wandb-integration * docstring * lint * log config+handle segmentation results * remove val logging * segmentation logging * metadata logging improved + remove best metadata * remove extra arg * train.py conflict * shuffle eval data+remove config * wandb config file * iter based logging + cleanup * minor update * minor update * minor fix * epoch and iter eval table * save and log config * Delete mask_rcnn_r50_fpn_1x_wandb_iter_coco.py Co-authored-by: Wencheng Wu <41542251+274869388@users.noreply.github.com> Co-authored-by: Yue Zhou <592267829@qq.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
* [Fix] Adjust the order of get_classes and FileClient. (open-mmlab#7276) * delete -sv (open-mmlab#7277) Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com> * wandb-integration * docstring * lint * log config+handle segmentation results * remove val logging * segmentation logging * metadata logging improved + remove best metadata * remove extra arg * train.py conflict * shuffle eval data+remove config * wandb config file * iter based logging + cleanup * minor update * minor update * minor fix * epoch and iter eval table * save and log config * Delete mask_rcnn_r50_fpn_1x_wandb_iter_coco.py Co-authored-by: Wencheng Wu <41542251+274869388@users.noreply.github.com> Co-authored-by: Yue Zhou <592267829@qq.com> Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
This PR is opened to sign the CLA agreement. The previous PR #7413 is closed in favor of this. You can check that PR for initial discussion.
The details of the feature can be found in this issue #7391.