Skip to content
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 unet encoder-decoder and image output feature #3913

Merged
merged 1 commit into from
Jan 29, 2024

Conversation

vijayi1
Copy link
Contributor

@vijayi1 vijayi1 commented Jan 23, 2024

Code Pull Requests

Please provide the following:

  • a clear explanation of what your code does
    Added a UNet encoder and decoder stack.
    Added an image output feature, and image utils to detect pixel classes.
    Added an image semantic segmentation example using a kaggle dataset.
    Added test cases for encoder, decoder and dataset.
  • if applicable, a reference to an issue
  • a reproducible test for your PR (code, config and data sample)
    Test example included in PR.

@vijayi1
Copy link
Contributor Author

vijayi1 commented Jan 23, 2024

@justinxzhao, I opened this PR and closed the previous PR 3870 due to git rebase issues. I've addressed your comments in this PR.

I'm attaching some sample results. Each result has the input image, the label mask and a predicted mask.

  1. the camseq example included in the PR (https://www.kaggle.com/datasets/carlolepelaars/camseq-semantic-segmentation)
  2. a buildings dataset, with images cropped due to mem limits on my system (https://www.kaggle.com/datasets/sohaibmoradi/segmented-satellite-images-of-buildings)

camseq_0016E5_07959
camseq_0016E5_07959_L
camseq_predicted_0016E5_07959_L
buildings_img_0
buildings_mask_0
buildings_mask_predicted_0

Copy link

Unit Test Results

  6 files  ±0    6 suites  ±0   13m 50s ⏱️ -26s
12 tests ±0    7 ✔️  -   2    5 💤 +  2  0 ±0 
60 runs  ±0  30 ✔️  - 12  30 💤 +12  0 ±0 

Results for commit 30feafb. ± Comparison against base commit 9bb89c6.

This pull request skips 2 tests.
tests.regression_tests.benchmark.test_model_performance ‑ test_performance[ames_housing.gbm.yaml]
tests.regression_tests.benchmark.test_model_performance ‑ test_performance[mercedes_benz_greener.gbm.yaml]

@vijayi1
Copy link
Contributor Author

vijayi1 commented Jan 27, 2024

attached training results for the camseq example above.

camseq_training_log

@justinxzhao
Copy link
Collaborator

@vijayi1 This is super cool! Thanks for addressing prior comments and putting together the PR. LGTM!

Copy link
Contributor

@arnavgarg1 arnavgarg1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR looks great!! Amazing work!

Non-blocking, but two quick follows up (can be done after this PR is merged):

  1. Would you be able to add unit tests for the new functions added in image_utils.py? Also happy for you to create a follow up PR to add tests for those util functions!
  2. Are you also able to create a PR in https://github.com/ludwig-ai/ludwig-docs for the new image encoder and decoder? We can do it after we merge this PR again,

@vijayi1
Copy link
Contributor Author

vijayi1 commented Jan 29, 2024

Thanks for the reviews. @arnavgarg1, I'll create follow up PRs for those two points.

I do not have write access to merge this PR. Please advise on the next step.

@justinxzhao justinxzhao merged commit 6c09ec1 into ludwig-ai:master Jan 29, 2024
18 checks passed
@arnavgarg1
Copy link
Contributor

@vijayi1 - Sounds good! Will keep a lookout for those PRs. We just merged your PR into master!

@vijayi1 vijayi1 deleted the unet-encoder-decoder-v2 branch February 6, 2024 18:06
@arnavgarg1
Copy link
Contributor

Hey @vijayi1! This was a marquee feature in our Ludwig 0.10.0 release and we'd love to give you a shoutout on LinkedIn. Is there a way to connect? My LinkedIn is https://www.linkedin.com/in/arnavgrg/, feel free to connect!

@vijayi1
Copy link
Contributor Author

vijayi1 commented Feb 24, 2024

Hi @arnavgarg1, thanks for the shoutout. I'm not on LinkedIn, but I did lookup the release announcement.

@arnavgarg1
Copy link
Contributor

No worries! And glad you were able to see it :) Just wanted to make sure you knew and we really appreciate the contribution!

@alexsherstinsky
Copy link
Collaborator

@vijayi1 What is your handle in the Ludwig community Slack? Thank you!

@vijayi1
Copy link
Contributor Author

vijayi1 commented Mar 1, 2024

"Vijay I", I just joined.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants