{"id":22234604,"url":"https://github.com/teknoir/yolov7_app","last_synced_at":"2025-03-25T09:22:50.634Z","repository":{"id":204636314,"uuid":"536547909","full_name":"teknoir/yolov7_app","owner":"teknoir","description":"Build tool and notebooks to create the Yolov7 App for the Teknoir Platform.","archived":false,"fork":false,"pushed_at":"2024-08-26T20:07:03.000Z","size":234,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-30T08:43:01.993Z","etag":null,"topics":["ai","app","computervision","edge","objectdetection","yolo"],"latest_commit_sha":null,"homepage":"https://teknoir.cloud","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teknoir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-14T11:32:46.000Z","updated_at":"2024-08-26T20:07:00.000Z","dependencies_parsed_at":"2024-08-02T18:05:17.866Z","dependency_job_id":"f19d39c2-1ab4-4079-8026-6129812c42d0","html_url":"https://github.com/teknoir/yolov7_app","commit_stats":null,"previous_names":["teknoir/yolov7_app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fyolov7_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fyolov7_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fyolov7_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fyolov7_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teknoir","download_url":"https://codeload.github.com/teknoir/yolov7_app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245432218,"owners_count":20614275,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","app","computervision","edge","objectdetection","yolo"],"created_at":"2024-12-03T02:08:56.246Z","updated_at":"2025-03-25T09:22:50.599Z","avatar_url":"https://github.com/teknoir.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Teknoir YOLOv7 App\n\nBuild tool and notebooks to create the Yolov7 App for the Teknoir Platform\n\n## Base Images\n| Public images         |                                     Device |                               Alias tags |\n|-----------------------|-------------------------------------------:|-----------------------------------------:|\n| gcr.io/teknoir/yolov7 |        Generic\u003cbr/\u003eamd64 / arm64\u003cbr/\u003e(CPU) |                               cpu-latest |\n| gcr.io/teknoir/yolov7 | Generic\u003cbr/\u003eamd64 / arm64\u003cbr/\u003e(Nvidia GPU) |                                nv-latest |\n| gcr.io/teknoir/yolov7 |  NVidia L4T\u003cbr/\u003eJetson Nano/Xavier NX/Orin | l4tr32.7.1\u003cbr/\u003el4tr32.7.2\u003cbr/\u003el4tr34.1.1 |\n| gcr.io/teknoir/yolov7 |                  Raspberry Pi 4 (64bit OS) |                                      TBD |\n\n## Example Images including the vanilla Yolov7 model\nIn `vanilla.Dockerfile` and `build_vanilla.sh` there is a full example of a Yolov7 app for the Teknoir platform with the\nvanilla model trained on COCOA dataset.\n\n| Public example images         |                                     Device |                               Alias tags |\n|-------------------------------|-------------------------------------------:|-----------------------------------------:|\n| gcr.io/teknoir/yolov7-vanilla |        Generic\u003cbr/\u003eamd64 / arm64\u003cbr/\u003e(CPU) |                               cpu-latest |\n| gcr.io/teknoir/yolov7-vanilla | Generic\u003cbr/\u003eamd64 / arm64\u003cbr/\u003e(Nvidia GPU) |                                nv-latest |\n| gcr.io/teknoir/yolov7-vanilla |  NVidia L4T\u003cbr/\u003eJetson Nano/Xavier NX/Orin | l4tr32.7.1\u003cbr/\u003el4tr32.7.2\u003cbr/\u003el4tr34.1.1 |\n| gcr.io/teknoir/yolov7-vanilla |                  Raspberry Pi 4 (64bit OS) |                                      TBD |\n\n## Kubeflow Pipelines\nIn the `notebooks` dir there are 2 notebooks that create Pipeline Templates.\n\n### Train Yolov7\nRunning the `train_yolov7.ipynb` notebook in the Teknoir Platform creates a pipeline that is prepared to take input from Labelstudio. See notebook for more information.\n\nThe notebook creates model artifacts that gets pushed to couldstorage and can be viewed in the Artifact Browser.\n\n### Build a custom Yolov7\nRunning the `build_yolov7_app.ipynb` notebook in the Teknoir Platform creates a pipeline that is prepared to take input from the pipeline created by `train_yolov7.ipynb`. See notebook for more information. \n\nThe notebook creates docker image artifact that gets pushed to the private Artifact Registry `us-central1-docker.pkg.dev/{project_id}/{namespace}/{image_name}`.\nWhere `{namespace}` is your projects name and `{image_name}` is specified in the Devstudio triggering the build.\n\n## Teknoir Devstudio\nWhen the pipelines are created there is an example flow in the `flows` folder that can be imported in a Devstudio.\n\n## Local Testing\n\nAssuming you have a MQTT broker on your local network and a device that is emitting MQTT messages (possibly the same device), the following can be used to test this repository:\n\n1. Download a model artifact from GCS (like ppe-bbox-clean-20220821000000146).\n\n2. Run eclipse-mosquitto (in separate terminal window)\n\n`docker pull eclipse-mosquitto`\n\n`docker run -it --name mosquitto -p 1883:1883 eclipse-mosquitto`\n\n3. Execute code below with configuration modifications to reflect your system, data, etc. \n\n`MQTT_IN_0=\"camera/images\" MQTT_SERVICE_HOST=192.168.68.104 MQTT_SERVICE_PORT=31883 WEIGHTS=weights/best_weights.pt IMG_SIZE=640 CLASS_NAMES=ppe-bbox-clean-20220821000000146/dataset/object.names python3 app.py`\n\n## Start a build\n\nTo start a cloudbuild for the CPU version of the image run:\n```\ngcloud --project=teknoir builds submit . --config=cloudbuild_l4t.yaml --substitutions=SHORT_SHA=\"build-my-local-changes\",BRANCH_NAME=\"test\"\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteknoir%2Fyolov7_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteknoir%2Fyolov7_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteknoir%2Fyolov7_app/lists"}