Repolode
Tencent

Tencent/ncnn

Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах.

Open source альтернатива:TensorFlow LiteCore ML

Звёзды
23,985
Форки
4,532
Открытые issues
1,268
Последний коммит
вчера

Что это?

ncnn — фреймворк для инференса нейросетей, написанный на C++ и предназначенный для запуска обученных моделей на телефонах, ПК, в браузерах и на периферийных устройствах. Он не зависит от сторонних компонентов времени выполнения и работает на CPU с оптимизациями ARM NEON или на GPU с Vulkan.

Модели из PyTorch и ONNX преобразуются с помощью инструмента pnnx в формат .param и .bin, используемый ncnn, а затем загружаются через API на C++, C или Python. Проект поддерживает графы с несколькими входами и выходами, инференс с квантованием fp16 и int8, а также пользовательские слои. Инструкции по сборке охватывают Linux, Windows, macOS, Android, iOS, HarmonyOS, WebAssembly и несколько встраиваемых плат.

Согласно документации, проект используется в нескольких приложениях Tencent, включая QQ, Qzone и WeChat. В репозитории также есть примеры с классическими CNN-моделями, такими как YOLO и MobileNet, и с более новыми задачами — например, демо для LLM и генерации изображений.

Ключевые возможности

  • 01Работает на CPU с оптимизациями ARM NEON и многопоточным планированием или на GPU с Vulkan.
  • 02Не зависит от сторонних компонентов времени выполнения.
  • 03Преобразует модели PyTorch и ONNX с помощью инструмента pnnx.
  • 04Предоставляет API на C++, C и Python.
  • 05Поддерживает инференс с квантованием fp16 и int8, а также пользовательские слои.
  • 06Собирается для Android, iOS, HarmonyOS, Windows, Linux, macOS и WebAssembly.

Сценарии использования

  • Запуск моделей для обнаружения объектов или лиц в мобильном приложении.
  • Развёртывание модели PyTorch на встраиваемой плате без тяжёлой среды выполнения.
  • Инференс нейросетей в браузере с помощью WebAssembly.
  • Добавление ИИ-функций в настольное приложение на C++.

Быстрый старт

  1. 1

    Установите pnnx в окружение PyTorch

    pip3 install pnnx
  2. 2

    Экспортируйте модель PyTorch в ncnn с помощью pnnx.export

  3. 3

    Загрузите созданную модель и выполните инференс с помощью C++ или Python API ncnn

Что важно знать

  • Чтобы собрать ncnn для многих платформ, необходимо следовать отдельному руководству по сборке в вики.
  • В метаданных лицензия не указана, хотя на значке в README указана BSD 3-Clause. Перед использованием проверьте LICENSE.txt.

Темы

Частые вопросы

Что такое ncnn?
Высокопроизводительный фреймворк на C++ для инференса моделей глубокого обучения на мобильных, встраиваемых и настольных устройствах. ncnn — фреймворк для инференса нейросетей, написанный на C++ и предназначенный для запуска обученных моделей на телефонах, ПК, в браузерах и на периферийных устройствах. Он не зависит от сторонних компонентов времени выполнения и работает на CPU с оптимизациями ARM NEON или на GPU с Vulkan.
ncnn можно использовать бесплатно? Какая у него лицензия?
ncnn распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ncnn всё ещё поддерживается?
Активно поддерживается. Последний коммит в ncnn — 20 окт. 2026 г..
Для чего можно использовать ncnn?
Запуск моделей для обнаружения объектов или лиц в мобильном приложении. Развёртывание модели PyTorch на встраиваемой плате без тяжёлой среды выполнения. Инференс нейросетей в браузере с помощью WebAssembly. Добавление ИИ-функций в настольное приложение на C++.
Как установить ncnn?
Установите pnnx в окружение PyTorch: pip3 install pnnx Экспортируйте модель PyTorch в ncnn с помощью pnnx.export Загрузите созданную модель и выполните инференс с помощью C++ или Python API ncnn
Где скачать ncnn?
Исходный код и инструкции по установке — на GitHub: https://github.com/Tencent/ncnn

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Ultralytics YOLOv5 — библиотека компьютерного зрения на базе PyTorch для детекции объектов, сегментации экземпляров и классификации изображений, с обучением и экспортом моделей.

58,2 тыс.17,5 тыс.PythonAGPL-3.0Обновлён 3 дня назад