ultralytics / xview-docker

xView 2018 Object Detection Challenge: Docker container submission code

Home Page:https://challenge.xviewdataset.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Introduction πŸ‘‹

Welcome to the Ultralytics software directory! Our codebase is open-source and πŸ”“ distributed under the AGPL-3.0 license. Explore more about Ultralytics and our cutting-edge projects at our website.

Ultralytics Actions Discord

Project Overview πŸ“„

This repository, located at https://github.com/ultralytics/xview-docker, is designed to help you dockerize and deploy machine learning models for the xView detection challenge πŸ”. It should be used in combination with the trained models from our xView YOLOv3 repository.

Prerequisites πŸ“‘

To get started, you need Docker and Python 3.6 (or newer). Ensure that you have all the required packages by installing them via pip:

pip3 install -U -r requirements.txt

You should have the following packages:

  • numpy for numerical operations,
  • scipy for scientific computations,
  • torch as the deep learning framework, and
  • opencv-python for computer vision tasks.

Dockerization Steps 🐳

Below are the steps to containerize this repository for the xView challenge using run.sh.

Step 1: Copy Best Model Checkpoint

Get the best performing checkpoint from our xView YOLOv3 model:

mkdir xview-docker/checkpoints
cp xview-yolov3/checkpoints/best.pt xview-docker/checkpoints

Step 2: Build and Tag The Docker Container

Here's how to remove older images, set the right permissions for the script, build the image, and tag it appropriately (e.g., ultralytics/xview:v30):

sudo docker image prune -a
cd xview-docker && chmod +x run.sh
sudo docker build -t friendlyhello .
sudo docker tag friendlyhello ultralytics/xview:v30

Step 3: Run Container on Example Image

Test the container with the example image while specifying CPU and memory usage:

time sudo docker run -it --memory=8g --cpus=1 ultralytics/xview:v30 bash -c './run.sh /1047.tif /tmp && cat /tmp/1047.tif.txt'

Here's a sample output:

Example Detection

Step 4: Push to Docker Hub

Finally, upload the container to Docker Hub ready for challenge submission:

sudo docker push ultralytics/xview:v30

You can find the container now hosted at Docker Hub, prepared for the challenge πŸš€.

🀝 Contribute

We welcome contributions from the community! Whether you're fixing bugs, adding new features, or improving documentation, your input is invaluable. Take a look at our Contributing Guide to get started. Also, we'd love to hear about your experience with Ultralytics products. Please consider filling out our Survey. A huge πŸ™ and thank you to all of our contributors!

Ultralytics open-source contributors

©️ License

Ultralytics is excited to offer two different licensing options to meet your needs:

  • AGPL-3.0 License: Perfect for students and hobbyists, this OSI-approved open-source license encourages collaborative learning and knowledge sharing. Please refer to the LICENSE file for detailed terms.
  • Enterprise License: Ideal for commercial use, this license allows for the integration of Ultralytics software and AI models into commercial products without the open-source requirements of AGPL-3.0. For use cases that involve commercial applications, please contact us via Ultralytics Licensing.

πŸ“¬ Contact Us

For bug reports, feature requests, and contributions, head to GitHub Issues. For questions and discussions about this project and other Ultralytics endeavors, join us on Discord!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics Instagram space Ultralytics Discord

About

xView 2018 Object Detection Challenge: Docker container submission code

https://challenge.xviewdataset.org/

License:GNU Affero General Public License v3.0


Languages

Language:Python 97.3%Language:Shell 1.6%Language:Dockerfile 1.0%