det-executor


Namedet-executor JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/maxwolf8852/DetExecutor.git
SummaryPython package with latest versions of YOLO architecture for training and inference
upload_time2023-10-06 10:57:30
maintainer
docs_urlNone
authorMaxim Volkovskiy
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements pyyaml opencv-python torch torchvision requests wget tqdm ultralytics black colorama pthflops transformers imageio
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![GitHub](https://img.shields.io/github/license/maxwolf8852/DetExecutor?style=plastic)
[![PyPI version](https://badge.fury.io/py/det_executor.svg)](https://badge.fury.io/py/det_executor)
![PyPI - Downloads](https://img.shields.io/pypi/dm/det_executor?style=plastic)

# DetExecutor
Python package with latest versions of YOLO architecture for training and inference
## Install
Installing is quite simple, just use pip:
```shell
pip3 install det_executor
```
## Train
Training support is still in progress!
## Inference

### Get available models
```python
from det_executor import DetExecutor
# print list of supported arches
DetExecutor.list_arch()
```
<details>
  <summary>Output</summary>

```JSON
{
    "yolov7": YoloArch(
        version="7",
        img_size=(640, 640),
        size="75.6MB",
        params="37.6M",
        flops="",
        module="yolov7_package",
        load_link="yolov7.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7x": YoloArch(
        version="7",
        img_size=(640, 640),
        size="75.6MB",
        params="71.3M",
        flops="",
        module="yolov7_package",
        load_link="yolov7x.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-w6": YoloArch(
        version="7",
        img_size=(1280, 1280),
        size="141.3MB",
        params="70.4M",
        flops="",
        module="yolov7_package",
        load_link="yolov7-w6.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-e6": YoloArch(
        version="7",
        img_size=(1280, 1280),
        size="195.0MB",
        params="97.2M",
        flops="",
        module="yolov7_package",
        load_link="yolov7-e6.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-d6": YoloArch(
        version="7",
        img_size=(1280, 1280),
        size="286.3MB",
        params="133.8M",
        flops="",
        module="yolov7_package",
        load_link="yolov7-d6.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-e6e": YoloArch(
        version="7",
        img_size=(1280, 1280),
        size="304.4MB",
        params="151.8M",
        flops="",
        module="yolov7_package",
        load_link="yolov7-e6e.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-traced": YoloArch(
        version="7",
        img_size=(640, 640),
        size="74.3MB",
        params="36.9M",
        flops="",
        module="yolov7_package",
        load_link="1L8mPcUvabUscEk6Nr8ck5EFgopgPAMDW",
        trainable=False,
        traced=True,
    ),
    "yolov7-tiny": YoloArch(
        version="7",
        img_size=(640, 640),
        size="12.6MB",
        params="6.2M",
        flops="",
        module="yolov7_package",
        load_link="yolov7-tiny.pt",
        trainable=False,
        traced=False,
    ),
    "yolov7-tiny-traced": YoloArch(
        version="7",
        img_size=(640, 640),
        size="12.7MB",
        params="6.2M",
        flops="",
        module="yolov7_package",
        load_link="18zJyljtolPENDI_kFw3FlRFnQTnaLuDF",
        trainable=False,
        traced=True,
    ),
    "yolov8n": YoloArch(
        version="8",
        img_size=(640, 640),
        size="6.5MB",
        params="3.2M",
        flops="",
        module="yolov8",
        load_link="yolov8n.pt",
        trainable=False,
        traced=False,
    ),
    "yolov8s": YoloArch(
        version="8",
        img_size=(640, 640),
        size="22.6MB",
        params="11.2M",
        flops="",
        module="yolov8",
        load_link="yolov8s.pt",
        trainable=False,
        traced=False,
    ),
    "yolov8m": YoloArch(
        version="8",
        img_size=(640, 640),
        size="52.1MB",
        params="25.9M",
        flops="",
        module="yolov8",
        load_link="yolov8m.pt",
        trainable=False,
        traced=False,
    ),
    "yolov8l": YoloArch(
        version="8",
        img_size=(640, 640),
        size="87.8MB",
        params="43.7M",
        flops="",
        module="yolov8",
        load_link="yolov8l.pt",
        trainable=False,
        traced=False,
    ),
    "yolov8x": YoloArch(
        version="8",
        img_size=(640, 640),
        size="136.9MB",
        params="68.2M",
        flops="",
        module="yolov8",
        load_link="yolov8x.pt",
        trainable=False,
        traced=False,
    ),
    "yolos-tiny": YoloArch(
        version="s",
        img_size=None,
        size="136.9MB",
        params="6.5M",
        flops="512x*>18.8G|256x*>3.4G",
        module="yolos",
        load_link="hustvl/yolos-tiny",
        trainable=False,
        traced=False,
    ),
}
```
</details>
<br/>

### Loading model
```python
from det_executor import DetExecutor

# loading model
name = 'yolov7'
ex = DetExecutor(name)
```
### Predict and draw
```python
from det_executor import DetExecutor, draw_on_image
import cv2

# loading model
name = 'yolov7'
ex = DetExecutor(name)

# loading image
img = ex.load_image('test/img.jpg')
# or img = cv2.imread('test/img.jpg')

# predict
classes, boxes, scores = ex.predict(img)

# draw
img = draw_on_image(img, boxes[0], scores[0], classes[0])
cv2.imshow("image", img)
cv2.waitKey()
```

## Roadmap
 - [ ] Training pipeline for all models
 - [ ] Load from custom weights
 - [ ] More models
## Citation
```
@article{wang2022yolov7,
  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},
  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},
  journal={arXiv preprint arXiv:2207.02696},
  year={2022}
}
```

```
@misc{fang2021look,
      title={You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection}, 
      author={Yuxin Fang and Bencheng Liao and Xinggang Wang and Jiemin Fang and Jiyang Qi and Rui Wu and Jianwei Niu and Wenyu Liu},
      year={2021},
      eprint={2106.00666},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/maxwolf8852/DetExecutor.git",
    "name": "det-executor",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Maxim Volkovskiy",
    "author_email": "maxwolf8852@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7b/4f/aa99baf2d68347ec3a01f1a6289f14eb8d27f16b70bda20be79139df1d78/det_executor-0.0.9.tar.gz",
    "platform": null,
    "description": "![GitHub](https://img.shields.io/github/license/maxwolf8852/DetExecutor?style=plastic)\n[![PyPI version](https://badge.fury.io/py/det_executor.svg)](https://badge.fury.io/py/det_executor)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/det_executor?style=plastic)\n\n# DetExecutor\nPython package with latest versions of YOLO architecture for training and inference\n## Install\nInstalling is quite simple, just use pip:\n```shell\npip3 install det_executor\n```\n## Train\nTraining support is still in progress!\n## Inference\n\n### Get available models\n```python\nfrom det_executor import DetExecutor\n# print list of supported arches\nDetExecutor.list_arch()\n```\n<details>\n  <summary>Output</summary>\n\n```JSON\n{\n    \"yolov7\": YoloArch(\n        version=\"7\",\n        img_size=(640, 640),\n        size=\"75.6MB\",\n        params=\"37.6M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7x\": YoloArch(\n        version=\"7\",\n        img_size=(640, 640),\n        size=\"75.6MB\",\n        params=\"71.3M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7x.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-w6\": YoloArch(\n        version=\"7\",\n        img_size=(1280, 1280),\n        size=\"141.3MB\",\n        params=\"70.4M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7-w6.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-e6\": YoloArch(\n        version=\"7\",\n        img_size=(1280, 1280),\n        size=\"195.0MB\",\n        params=\"97.2M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7-e6.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-d6\": YoloArch(\n        version=\"7\",\n        img_size=(1280, 1280),\n        size=\"286.3MB\",\n        params=\"133.8M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7-d6.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-e6e\": YoloArch(\n        version=\"7\",\n        img_size=(1280, 1280),\n        size=\"304.4MB\",\n        params=\"151.8M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7-e6e.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-traced\": YoloArch(\n        version=\"7\",\n        img_size=(640, 640),\n        size=\"74.3MB\",\n        params=\"36.9M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"1L8mPcUvabUscEk6Nr8ck5EFgopgPAMDW\",\n        trainable=False,\n        traced=True,\n    ),\n    \"yolov7-tiny\": YoloArch(\n        version=\"7\",\n        img_size=(640, 640),\n        size=\"12.6MB\",\n        params=\"6.2M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"yolov7-tiny.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov7-tiny-traced\": YoloArch(\n        version=\"7\",\n        img_size=(640, 640),\n        size=\"12.7MB\",\n        params=\"6.2M\",\n        flops=\"\",\n        module=\"yolov7_package\",\n        load_link=\"18zJyljtolPENDI_kFw3FlRFnQTnaLuDF\",\n        trainable=False,\n        traced=True,\n    ),\n    \"yolov8n\": YoloArch(\n        version=\"8\",\n        img_size=(640, 640),\n        size=\"6.5MB\",\n        params=\"3.2M\",\n        flops=\"\",\n        module=\"yolov8\",\n        load_link=\"yolov8n.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov8s\": YoloArch(\n        version=\"8\",\n        img_size=(640, 640),\n        size=\"22.6MB\",\n        params=\"11.2M\",\n        flops=\"\",\n        module=\"yolov8\",\n        load_link=\"yolov8s.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov8m\": YoloArch(\n        version=\"8\",\n        img_size=(640, 640),\n        size=\"52.1MB\",\n        params=\"25.9M\",\n        flops=\"\",\n        module=\"yolov8\",\n        load_link=\"yolov8m.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov8l\": YoloArch(\n        version=\"8\",\n        img_size=(640, 640),\n        size=\"87.8MB\",\n        params=\"43.7M\",\n        flops=\"\",\n        module=\"yolov8\",\n        load_link=\"yolov8l.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolov8x\": YoloArch(\n        version=\"8\",\n        img_size=(640, 640),\n        size=\"136.9MB\",\n        params=\"68.2M\",\n        flops=\"\",\n        module=\"yolov8\",\n        load_link=\"yolov8x.pt\",\n        trainable=False,\n        traced=False,\n    ),\n    \"yolos-tiny\": YoloArch(\n        version=\"s\",\n        img_size=None,\n        size=\"136.9MB\",\n        params=\"6.5M\",\n        flops=\"512x*>18.8G|256x*>3.4G\",\n        module=\"yolos\",\n        load_link=\"hustvl/yolos-tiny\",\n        trainable=False,\n        traced=False,\n    ),\n}\n```\n</details>\n<br/>\n\n### Loading model\n```python\nfrom det_executor import DetExecutor\n\n# loading model\nname = 'yolov7'\nex = DetExecutor(name)\n```\n### Predict and draw\n```python\nfrom det_executor import DetExecutor, draw_on_image\nimport cv2\n\n# loading model\nname = 'yolov7'\nex = DetExecutor(name)\n\n# loading image\nimg = ex.load_image('test/img.jpg')\n# or img = cv2.imread('test/img.jpg')\n\n# predict\nclasses, boxes, scores = ex.predict(img)\n\n# draw\nimg = draw_on_image(img, boxes[0], scores[0], classes[0])\ncv2.imshow(\"image\", img)\ncv2.waitKey()\n```\n\n## Roadmap\n - [ ] Training pipeline for all models\n - [ ] Load from custom weights\n - [ ] More models\n## Citation\n```\n@article{wang2022yolov7,\n  title={{YOLOv7}: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors},\n  author={Wang, Chien-Yao and Bochkovskiy, Alexey and Liao, Hong-Yuan Mark},\n  journal={arXiv preprint arXiv:2207.02696},\n  year={2022}\n}\n```\n\n```\n@misc{fang2021look,\n      title={You Only Look at One Sequence: Rethinking Transformer in Vision through Object Detection}, \n      author={Yuxin Fang and Bencheng Liao and Xinggang Wang and Jiemin Fang and Jiyang Qi and Rui Wu and Jianwei Niu and Wenyu Liu},\n      year={2021},\n      eprint={2106.00666},\n      archivePrefix={arXiv},\n      primaryClass={cs.CV}\n}\n```\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python package with latest versions of YOLO architecture for training and inference",
    "version": "0.0.9",
    "project_urls": {
        "Homepage": "https://github.com/maxwolf8852/DetExecutor.git"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38b76726bb3c2c9b61ea911977dfc0dc283cfc84a20a22b5b0962bb06d8702ac",
                "md5": "d71816de46e8bce14ac6031589efa63a",
                "sha256": "b36858a2a60337e048eb396ba8f98c160b497177dfa31d31474a2c5a4adaf79c"
            },
            "downloads": -1,
            "filename": "det_executor-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d71816de46e8bce14ac6031589efa63a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 103223,
            "upload_time": "2023-10-06T10:57:28",
            "upload_time_iso_8601": "2023-10-06T10:57:28.279116Z",
            "url": "https://files.pythonhosted.org/packages/38/b7/6726bb3c2c9b61ea911977dfc0dc283cfc84a20a22b5b0962bb06d8702ac/det_executor-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b4faa99baf2d68347ec3a01f1a6289f14eb8d27f16b70bda20be79139df1d78",
                "md5": "fcaf0c97bb3c8a69a2fc0649b2b9d5fc",
                "sha256": "bf91cb2371d5e6c2d67646c4eb5483853b7f571e9da5bff6896986b8eb508667"
            },
            "downloads": -1,
            "filename": "det_executor-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "fcaf0c97bb3c8a69a2fc0649b2b9d5fc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 97249,
            "upload_time": "2023-10-06T10:57:30",
            "upload_time_iso_8601": "2023-10-06T10:57:30.296906Z",
            "url": "https://files.pythonhosted.org/packages/7b/4f/aa99baf2d68347ec3a01f1a6289f14eb8d27f16b70bda20be79139df1d78/det_executor-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-06 10:57:30",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "maxwolf8852",
    "github_project": "DetExecutor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "pyyaml",
            "specs": []
        },
        {
            "name": "opencv-python",
            "specs": []
        },
        {
            "name": "torch",
            "specs": []
        },
        {
            "name": "torchvision",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "wget",
            "specs": []
        },
        {
            "name": "tqdm",
            "specs": []
        },
        {
            "name": "ultralytics",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        },
        {
            "name": "colorama",
            "specs": []
        },
        {
            "name": "pthflops",
            "specs": []
        },
        {
            "name": "transformers",
            "specs": []
        },
        {
            "name": "imageio",
            "specs": []
        }
    ],
    "lcname": "det-executor"
}
        
Elapsed time: 0.12332s