Skip to content

Latest commit

 

History

History
56 lines (36 loc) · 2.87 KB

README.md

File metadata and controls

56 lines (36 loc) · 2.87 KB

you only glance once

License PyPI version Downloads

A version of the YOLO architecture (versions 1 through 3), optimized for inference speed on simple object detection problems. Designed for the remoscope project by the bioengineering team at the Chan-Zuckerberg Biohub SF.

Our yogo manuscript is currently in preparation - stay tuned!

Install

With Python versions >= 3.9 and < 3.11, you can install yogo with pip

python3 -m pip install -e yogo

For developing YOGO, clone the repo and then run

python3 -m pip install -e ".[dev]"

Basic usage

$ yogo train path/to/dataset-definition-file.yml  # train your model!
$ yogo infer path/to/model.pth  # use your model!
$ yogo export path/to/model.pth  # use your model somewhere else!
$ yogo test path/to/model.pth path/to/dataset-definition-file. # test your model!
$ yogo --help  # all the other details are here :)

We're using Weights and Biases for run tracking. But, note that you do not need a W&B account to run anything! Runs that are started without an account are logged to an anonymous page. If you do decide to start with W&B, look here. Anonymous runs can be claimed later.

Further, we currently only support GPU training, since we use Torch's Distributed Data Parallel.

Note

Installing Openvino on Apple Silicon is a little involved. Here is Openvino's guide to installation. You can also use a Linux VM or Docker.

Docs

Documentation for YOGO. If you want documentation in a specific area, let us know!

  • recipes.md has the basics of using YOGO in your own code
  • cli.md is a short guide on how to use YOGO from the command line (via yogo)
  • yogo-high-level.md is a high level guide of the YOGO architecture
  • dataset-definition.md defines the dataset description files, the files YOGO uses to define datasets for training

Contributing Guidelines

Please run ./prepush.sh before pushing. It runs mypy, ruff, black and pytest.

When creating issues or pull requests, please be detailed. What exact commands were you running on what computer to get your issue? What exactly does your PR contribute and why is it necessary?