{"id":47808410,"url":"https://github.com/toppymicroservices/yolozu","last_synced_at":"2026-04-14T14:00:36.791Z","repository":{"id":339759513,"uuid":"1136265356","full_name":"ToppyMicroServices/YOLOZU","owner":"ToppyMicroServices","description":"Framework-agnostic vision toolkit for training and evaluation","archived":false,"fork":false,"pushed_at":"2026-04-10T22:19:03.000Z","size":86217,"stargazers_count":2,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-10T22:24:18.218Z","etag":null,"topics":["computer-vision","continual-learning","depth","depth-estimation","hessian","instance-segmentation","mmdetection","object-detection","onnx","onnxruntime","pose","pose-estimation","pytorch","rtdetr","tensorrt","test-time-adaptation","test-time-training","yolo"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ToppyMicroServices.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":"docs/support.md","governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":"COPYRIGHT","agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-17T11:23:22.000Z","updated_at":"2026-04-08T16:06:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"433be6d2-71dc-4cea-8687-00a76c3f554d","html_url":"https://github.com/ToppyMicroServices/YOLOZU","commit_stats":null,"previous_names":["toppymicroservices/yolozu"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/ToppyMicroServices/YOLOZU","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToppyMicroServices%2FYOLOZU","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToppyMicroServices%2FYOLOZU/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToppyMicroServices%2FYOLOZU/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToppyMicroServices%2FYOLOZU/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ToppyMicroServices","download_url":"https://codeload.github.com/ToppyMicroServices/YOLOZU/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ToppyMicroServices%2FYOLOZU/sbom","scorecard":{"id":1244893,"data":{"date":"2026-03-15T15:42:27Z","repo":{"name":"github.com/ToppyMicroServices/YOLOZU","commit":"a41d501a5afbcbb6ad00541994b1ae0650a5cf35"},"scorecard":{"version":"v5.1.1","commit":"cd152cb6742c5b8f2f3d2b5193b41d9c50905198"},"score":5.5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"project was created in last 90 days. please review its contents carefully","details":["Warn: Repository was created in last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#maintained"}},{"name":"CI-Tests","score":-1,"reason":"no pull request found","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#ci-tests"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#security-policy"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#dependency-update-tool"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/container.yml:33","Info: jobLevel 'contents' permission set to 'read': .github/workflows/container.yml:126","Info: jobLevel 'contents' permission set to 'read': .github/workflows/publish.yml:17","Info: topLevel 'contents' permission set to 'read': .github/workflows/announce_release.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/build_and_test.yml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/container.yml:20","Info: topLevel 'contents' permission set to 'read': .github/workflows/gpu_practical_suite_machine.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/gpu_smoke_machine.yml:21","Info: topLevel 'actions' permission set to 'read': .github/workflows/gpu_zisn_pipeline.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/gpu_zisn_pipeline.yml:19","Info: topLevel 'contents' permission set to 'read': .github/workflows/manual_doi.yml:35","Info: topLevel 'contents' permission set to 'read': .github/workflows/model_zoo_sha.yml:7","Info: topLevel 'actions' permission set to 'read': .github/workflows/ngc_test.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/ngc_test.yml:19","Info: topLevel permissions set to 'read-all': .github/workflows/publish.yml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/pytest_gpu_machine.yml:7","Info: topLevel 'contents' permission set to 'read': .github/workflows/reference_adapter_full.yml:28","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:18","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#license"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: containerImage not pinned by hash: deploy/docker/Dockerfile:2","Warn: containerImage not pinned by hash: deploy/docker/Dockerfile.demo:2","Warn: containerImage not pinned by hash: deploy/runpod/Dockerfile:2","Warn: containerImage not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:2","Warn: containerImage not pinned by hash: examples/infer_cpp/docker/Dockerfile.onnxrt:1: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:3ba65aa20f86a0fad9df2b2c259c613df006b2e6d0bfcc8a146afb8c525a9751","Warn: containerImage not pinned by hash: examples/infer_cpp/docker/Dockerfile.trt:2","Warn: pipCommand not pinned by hash: deploy/docker/Dockerfile.demo:15","Warn: pipCommand not pinned by hash: deploy/docker/Dockerfile.demo:20","Warn: pipCommand not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:24-32","Warn: pipCommand not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:24-32","Warn: pipCommand not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:24-32","Warn: pipCommand not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:24-32","Warn: pipCommand not pinned by hash: deploy/runpod/Dockerfile.rtdetr_pose:24-32","Warn: pipCommand not pinned by hash: deploy/runpod/run_coco_keypoints_oracle_eval.sh:11","Warn: pipCommand not pinned by hash: deploy/runpod/run_rtdetr_pose_pose_eval_coco128.sh:25","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn1.sh:9","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn1.sh:10","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn2.sh:9","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn2.sh:10","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn3.sh:9","Warn: pipCommand not pinned by hash: tools/ci/run_gpu_zisn3.sh:10","Info:  53 out of  53 GitHub-owned GitHubAction dependencies pinned","Info:  12 out of  12 third-party GitHubAction dependencies pinned","Info:   0 out of   6 containerImage dependencies pinned","Info:   0 out of  15 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"15 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6rq9-53c3-f7vj","Warn: Project is vulnerable to: PYSEC-2025-10 / GHSA-h36j-8vv3-cj52","Warn: Project is vulnerable to: PYSEC-2024-223 / GHSA-h8wv-9h96-m4hr","Warn: Project is vulnerable to: PYSEC-2024-222 / GHSA-whh8-fjgc-qp73","Warn: Project is vulnerable to: GHSA-3f63-hfp8-52jq","Warn: Project is vulnerable to: GHSA-44wm-f244-xhp3","Warn: Project is vulnerable to: GHSA-j7hp-h8jx-5ppr","Warn: Project is vulnerable to: PYSEC-2023-175","Warn: Project is vulnerable to: GHSA-3749-ghw9-m3mg","Warn: Project is vulnerable to: PYSEC-2025-41 / GHSA-53q9-r3pm-6pq6","Warn: Project is vulnerable to: PYSEC-2024-252 / GHSA-5pcm-hx3q-hm94","Warn: Project is vulnerable to: GHSA-887c-mr87-cxwp","Warn: Project is vulnerable to: PYSEC-2024-251 / GHSA-pg7h-5qx3-wjr3","Warn: Project is vulnerable to: PYSEC-2024-250","Warn: Project is vulnerable to: PYSEC-2024-259"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#vulnerabilities"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/container.yml:30"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#packaging"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#fuzzing"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: toppymicroservices"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#contributors"}}]},"last_synced_at":"2026-03-15T22:56:35.478Z","repository_id":339759513,"created_at":"2026-03-15T22:56:35.479Z","updated_at":"2026-03-15T22:56:35.479Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31799411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["computer-vision","continual-learning","depth","depth-estimation","hessian","instance-segmentation","mmdetection","object-detection","onnx","onnxruntime","pose","pose-estimation","pytorch","rtdetr","tensorrt","test-time-adaptation","test-time-training","yolo"],"created_at":"2026-04-03T17:58:07.110Z","updated_at":"2026-04-14T14:00:36.773Z","avatar_url":"https://github.com/ToppyMicroServices.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YOLOZU (萬)\n\nJapanese: [`Readme_jp.md`](Readme_jp.md) | Chinese: [`Readme_zh.md`](Readme_zh.md)\n\nYOLOZU is an Apache-2.0 vision evaluation toolkit for teams that do not want workflow lock-in.\n\nBring your own inference.\nExport once.\nEvaluate fairly.\n\nYOLOZU uses one stable predictions interface contract:\nwrapped `predictions.json` with protocol-pinned `meta.export_settings`.\n\n## 1-Minute Demo\n\n```bash\npython3 -m pip install -U yolozu\nyolozu demo overview\n```\n\nWrites `demo_output/overview/\u003cutc\u003e/demo_overview_report.json`.\n\n```mermaid\nflowchart LR\n    A[\"Ultralytics\"] --\u003e D[\"wrapped predictions.json\"]\n    B[\"RT-DETR\"] --\u003e D\n    C[\"Detectron2 / MMDetection / custom\"] --\u003e D\n    D --\u003e E[\"validate\"]\n    E --\u003e F[\"evaluate\"]\n    F --\u003e G[\"comparable report\"]\n```\n\n[![PyPI](https://img.shields.io/pypi/v/yolozu?logo=pypi\u0026logoColor=white)](https://pypi.org/project/yolozu/)\n[![Python \u003e=3.10](https://img.shields.io/badge/python-3.10%2B-3776AB)](https://pypi.org/project/yolozu/)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)\n[![CI](https://github.com/ToppyMicroServices/YOLOZU/actions/workflows/build_and_test.yml/badge.svg)](https://github.com/ToppyMicroServices/YOLOZU/actions/workflows/build_and_test.yml)\n\n## Read These First\n\n- [`docs/README.md`](docs/README.md): top-level docs map and shortest working paths\n- [`docs/predictions_schema.md`](docs/predictions_schema.md): the predictions interface contract\n- [`docs/install.md`](docs/install.md): install, `doctor`, and environment setup\n\n## Primary Focus\n\n- Main lane: evaluate precomputed predictions fairly across frameworks and runtimes\n- Secondary lane: export and reference training lanes that feed the same predictions interface contract\n- Secondary external lane: Apache-2.0-friendly YOLOX-style training bridge, with optional external copyleft-sensitive bridges kept separate\n- Advanced lane: continual learning, TTT, SynthGen, and backend parity research paths\n\n## Capability Maturity\n\n- Stable: prediction validation/evaluation, wrapped `predictions.json`, repo smoke/demo path, install/doctor flow\n- Experimental: backend parity, benchmark orchestration, SynthGen intake and handoff, macOS/MPS evaluation paths\n- Research: continual learning, self-distillation, TTT, Hessian refinement\n\n## Production Readiness\n\n- Production-ready today: prediction validation/evaluation and the predictions interface contract\n- Needs qualification in your environment: backend parity, benchmark orchestration, SynthGen handoff, macOS/MPS paths\n- Research-oriented: continual learning, self-distillation, TTT, Hessian refinement\n- Full details: [`docs/production_readiness.md`](docs/production_readiness.md)\n\n## Who This Is For\n\n- You already have predictions and want fair cross-framework evaluation.\n- You want an Apache-2.0 evaluation layer without rewriting your training stack.\n- You do not want framework-native evaluation differences to become silent metric drift.\n\n## Not The Best Fit\n\n- You want one end-to-end training framework with one-click defaults.\n- You do not need cross-framework comparison or a stable predictions interface contract.\n\n## Why Not Just Use Framework-Native Evaluation?\n\nFramework-native evaluation is convenient inside one stack, but it is harder to compare fairly across stacks. YOLOZU keeps the evaluation boundary at one predictions interface contract so the comparison path stays pinned even when the inference stack changes.\n\n## Where To Go Next\n\n- Evaluate precomputed predictions: [`docs/external_inference.md`](docs/external_inference.md)\n- Train, export, then evaluate: [`docs/training_inference_export.md`](docs/training_inference_export.md)\n- YOLO-style and Detectron2 external training lanes (`yolozu train --external-backend yolox|detectron2|ultralytics|hf-detr ...`): [`docs/training_inference_export.md`](docs/training_inference_export.md)\n- Current training support matrix and scope boundary: [`docs/training_inference_export.md#current-training-support`](docs/training_inference_export.md#current-training-support)\n- Training backend interface / capability matrix / orchestration: [`docs/training_backend_interface.md`](docs/training_backend_interface.md), [`docs/training_capability_matrix.md`](docs/training_capability_matrix.md), [`docs/training_orchestration.md`](docs/training_orchestration.md)\n- Qualify backend-parity and benchmark paths after the main eval lane is working: [`docs/backend_parity_matrix.md`](docs/backend_parity_matrix.md), [`docs/benchmark_mode.md`](docs/benchmark_mode.md)\n- Prepare YOLOZU-synthgen handoff: [`docs/synthgen_repo_integration.md`](docs/synthgen_repo_integration.md)\n- Tool and manifest references: [`docs/tools_index.md`](docs/tools_index.md), [`tools/manifest.json`](tools/manifest.json)\n\n## More Than The Demo\n\n- Advanced docs map: [`docs/README.md`](docs/README.md)\n- Real-image showcase: [`docs/assets/readme_multitask_showcase.png`](docs/assets/readme_multitask_showcase.png)\n- Learning and research workflows: [`docs/learning_features.md`](docs/learning_features.md)\n\n## Repo Users\n\n```bash\npython3 -m pip install -e .\nbash scripts/smoke.sh\n```\n\nMore repo-first guidance:\n\n- Docs index: [`docs/README.md`](docs/README.md)\n- Install details: [`docs/install.md`](docs/install.md)\n- Manual sources: [`manual/README.md`](manual/README.md)\n\n## Support And Legal\n\n- Support: [`docs/support.md`](docs/support.md)\n- License policy: [`docs/license_policy.md`](docs/license_policy.md)\n- External training boundary: YOLOX first, optional Ultralytics and HF DETR bridges second\n- Apache-2.0 license: [`LICENSE`](LICENSE)\n- Latest release: [GitHub Releases](https://github.com/ToppyMicroServices/YOLOZU/releases)\n- Zenodo software DOI: [10.5281/zenodo.18744756](https://doi.org/10.5281/zenodo.18744756)\n- Zenodo manual DOI: [10.5281/zenodo.18744926](https://doi.org/10.5281/zenodo.18744926)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoppymicroservices%2Fyolozu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoppymicroservices%2Fyolozu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoppymicroservices%2Fyolozu/lists"}