Skip to content

Running SOTA models is too hard and I agree! I want to change that with easy-model-zoo, a collection of SOTA models that are pip installable. Run them on your CPU or GPU.

License

shafu0x/easy-model-zoo

Repository files navigation

easy-model-zoo

This is still under heavy development. APIs WILL still change.

Are you also frustrated by the installation process of different models? You are tired of Docker and C extensions failing while compiling. You just want to try out a new model? I agree! You just found the right place! Running deep learning models is easy now.

The only requirement of theses models is that they are pip installable.

You don't have a fancy GPU? Don't worry just run it on the CPU...

PRs are always welcome!

Installation

Simply run:

git clone https://github.com/SharifElfouly/easy-model-zoo
cd easy-model-zoo
pip3 install easy_model_zoo-0.2.4-py3-none-any.whl

Getting Started

from easy_model_zoo import ModelRunner

img_path = 'FULL PATH TO YOUR IMAGE'

device = 'GPU' # or CPU

# Choose a model from the list above
model_runner = ModelRunner('EfficientDet-d0', device)
model_runner.visualize(img_path, predictions)

Pre-trained Models

NOTE: You do NOT have to download the weights file yourself. The ModelRunner will do that for you. The links are just for convenience.

Benchmarks:

  • All benchmarks include pre- and postprocessing.
  • GPU used: GeForce GTX 1660
  • CPU used: Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz

Object Detection

For a full comparison with other Object Detection models see here.

Model Name MS (GPU) FPS (GPU) MS (CPU) FPS (CPU) Cityscapes MIOU Original Repo Paper Weights
EfficientDet-d0 41 24 22 4 33.8% here arxiv efficientdet-d0.pth
EfficientDet-d1 54 18 478 2 39.6% here arxiv efficientdet-d1.pth
EfficientDet-d2 83 12.1 768 1.3 43.0% here arxiv efficientdet-d2.pth
EfficientDet-d3 133 7 1660 0.6 45.8% here arxiv efficientdet-d3.pth
EfficientDet-d4 222 4 2984 0.34 49.4% here arxiv efficientdet-d4.pth
EfficientDet-d5 500 2 6604 0.15 50.7% here arxiv efficientdet-d5.pth
EfficientDet-d6 664 1.5 9248 0.11 51.7% here arxiv efficientdet-d6.pth
EfficientDet-d7 763 1.31 13.751 0.07 53.7% here arxiv efficientdet-d7.pth

Semantic Segmentation

Model Name MS (GPU) FPS (GPU) MS (CPU) FPS (CPU) Cityscapes MIOU Original Repo Paper Weights
Bisenet 37 50 613 1.63 74.7% here arxiv bisenet.pth

Instance Segmentation

Model Name MS (GPU) FPS (GPU) MS (CPU) FPS (CPU) Cityscapes MIOU Original Repo Paper Weights
YOLACT-Resnet50 69 14 1397 0.72 28.2% here arxiv yolact_resnet50_54_800000.pth

How to add a new Model?

Adding a new model is easy. Simply create a new directory inside easy_model_zoo with the name of your model. Define a new Model class that inherits from easy_model_zoo/model.py. For an example look at easy_model_zoo/bisenet/bisenet.py.

Just remember, it has to be pip installable.

License

Feel free to do what you want! Just don't blame me if it doesn't work ;)

About

Running SOTA models is too hard and I agree! I want to change that with easy-model-zoo, a collection of SOTA models that are pip installable. Run them on your CPU or GPU.

Topics

Resources

License

Stars

Watchers

Forks

Languages