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!
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
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)
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
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 |
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 |
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 |
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.
Feel free to do what you want! Just don't blame me if it doesn't work ;)