Updated Dependencies, Better Docker Support, and Segmentation Demo #480
+365
−69
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces several significant improvements and updates to code surrounding the core YOLO-World project, addressing multiple issues and enhancing overall functionality and ease of use. When I finally got out of dependency hell, I decided to put down a ladder!
Key Changes
Dependency Updates:
Docker Support:
build_and_run.sh
script for easy building and running of Docker containers with different model configurations, matching configs to models, so no one else needs the headache I have.Segmentation Demo:
demo/segmentation_demo.py
to showcase YOLO-World's open vocabulary segmentation capabilities. The guts of which was stolen shamelessly form @onuralpszr 's excellent hugginface space, https://huggingface.co/spaces/onuralpszr/YOLO-World-Seg, which did not work but showed me enough to get this running.Issue Resolutions:
Tested Configurations:
pretrain-x-1280ft
, which performs excellently.seg-l
andseg-l-seghead
configurations, which show good performance but really work well with my use case ( :/ )Detailed Improvements
pyproject.toml
andrequirements
files with pinned dependency versions.How to Use
Users can now easily run YOLO-World demos, including the new segmentation demo, using the provided Docker build system. For example:
(note, while this is in MR, the fixes are not on master. So you have to replace this line in the dockerfile:
With this line:
Hopefully this PR will save the people who come after me significant amounts of time. Feedback and further testing is welcome!