PINTO0309/PINTO_model_zoo

A repository for storing models that have been inter-converted between various frameworks. Supported frameworks are TensorFlow, PyTorch, ONNX, OpenVINO, TFJS, TFTRT, TensorFlowLite (Float32/16/INT8), EdgeTPU, CoreML.

PINTO_model_zoo – 社区策划的模型中心

这是什么

  • 一个公开的 GitHub 仓库,存储了大量预先转换好的深度学习模型。这些模型提供多种部署格式——TensorFlow、TensorFlow Lite、PyTorch、ONNX、OpenVINO、CoreML、TensorFlow.js、TensorFlow-TRT、EdgeTPU 等——让开发者可以选择符合其目标硬件或框架的模型。

为什么重要

  • 将模型从训练框架(例如 PyTorch)转换为边缘设备所需的格式(例如用于 Coral Edge TPU 的 TensorFlow Lite INT8)通常涉及一连串的转换步骤和复杂的量化设置。此仓库通过直接提供转换后的成品以及原始许可信息,完成了这些繁重的工作。
  • 它还记录了每个模型可用的量化方案(weight-only、dynamic-range、full-integer、float-16、Edge-TPU)以及哪些推理引擎可以使用它们。

你会找到什么

  • 层级式文件夹结构 – 每个模型都有自己的子目录(例如 004_efficientnet、018_EfficientDet)。在里面你会看到各种文件(.tflite、.onnx、.xml/.bin、.mlmodel 等)以及一个反映原始模型许可的 LICENSE 文件。
  • README 中的巨大表格 – 列出了每个模型、其类型(图像分类、2-D 目标检测等)以及可用的格式(FP32、FP16、INT8 等)。图标(⚫)表示该格式存在。
  • 作者文章与工具的链接 – README 指向关于量化技术的博客文章、转换脚本(openvino2tensorflow、tflite2tensorflow、onnx2tf 等),以及用于 ONNX 操作的小工具(缩小尺寸、节点删除、模型合并)。

用户的典型工作流程

  1. 挑选模型 – 例如,你需要一个用于 Raspberry Pi 的轻量级人脸识别网络。在表格中找到 194_face_recognizer_fast。
  2. 选择格式 – 如果你在 Pi 上运行 TensorFlow Lite,请下载 *.tflite 文件(如果需要速度,请选择 FP16 或 INT8)。
  3. 检查许可 – 打开该文件夹中的 LICENSE 文件,确保原始模型的条款与你的项目兼容。
  4. 执行推理 – 该仓库不提供推理代码,但你可以根据需要使用标准的 TensorFlow Lite 解释器或 OpenVINO 运行时。

限制

  • 该仓库不包含示例推理脚本;作者明确欢迎对此进行贡献。
  • 部分模型(例如 MobileNetV3 主干、全整数量化)在 2020 年初被标注为结果不正确。
  • 量化质量可能有所不同;你可能需要针对特定硬件进行微调或重新量化。

维护者

  • 主要维护者是 GitHub 用户 PINTO0309。欢迎贡献,贡献者徽章显示了社区的活跃度。

总结

  • PINTO_model_zoo 对于需要在各种边缘和云端运行时部署深度学习模型的工程师来说,是一个真正实用的资源。它节省了格式转换和量化的时间,让你专注于构建周边应用程序。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目