Tencent/ncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform

解决的问题

ncnn 提供了一个高性能框架,用于在资源受限的环境中运行(推理)深度学习模型。它使开发人员能够将在 PyTorch 等框架中训练的模型高效地部署到手机、嵌入式系统、桌面计算机和 Web 浏览器上,而无需依赖繁重的第三方运行时库。

工作原理

该框架采用两部分方法:转换工具 (pnnx) 和轻量级推理引擎。开发人员首先使用 pnnx 将其 PyTorch 或 ONNX 模型转换为 ncnn 格式。转换完成后,支持 CPU 和 Vulkan GPU 加速的 ncnn 引擎即可加载这些模型进行推理。它被设计为自包含的,这意味着它不依赖外部运行时库,从而使其在各种硬件架构上具有极高的可移植性。

适用人群

本项目适用于需要在边缘设备、移动应用或桌面应用程序中部署 AI 模型,且对性能和最小化依赖有严格要求的软件工程师和机器学习从业者。它被广泛应用于生产环境,包括微信和 QQ 等主流应用。

主要亮点

  • 针对移动、嵌入式和桌面平台优化的高性能推理。
  • 零第三方运行时依赖,便于集成。
  • 支持 CPU 和 Vulkan GPU 加速的双后端。
  • 包含用于从 PyTorch 和 ONNX 模型无缝转换的 pnnx。
  • 广泛的硬件支持,包括 Android、iOS、Windows、Linux、macOS、WebAssembly 以及各种边缘计算平台。

相关

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