Tencent/ncnn

ncnn — это высокопроизводительная фреймворк для нейронных сетей, оптимизированный для мобильных платформ

Прочее⭐ 23 847C++последний релиз: 20260526
Открыть на GitHub ↗

Что это за инструмент

ncnn — это высокопроизводительный фреймворк для инференса нейросетей, оптимизированный для мобильных устройств, встроенных систем и десктопов.

Зачем нужен

Инструмент позволяет эффективно развертывать модели глубокого обучения на устройствах с ограниченными ресурсами. Он не требует сторонних зависимостей, поддерживает бэкенды CPU и Vulkan GPU, а также предоставляет инструменты для конвертации моделей из PyTorch и ONNX.

Что можно реализовать

  • Развертывание моделей на Android и iOS устройствах
  • Запуск инференса на Raspberry Pi и других встроенных платформах
  • Использование в десктопных приложениях (Windows, macOS, Linux)
  • Запуск нейросетей в браузере через WebAssembly

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

  • Отсутствие сторонних зависимостей во время выполнения
  • Поддержка бэкендов CPU и Vulkan GPU
  • Инструмент pnnx для конвертации моделей PyTorch и ONNX в формат ncnn
  • Наличие Python API и C++ API
  • Используется в продуктах Tencent (QQ, WeChat, Qzone)

👤 Кому подойдёт: Разработчики, работающие с мобильными приложениями, встроенными системами, десктопным ПО и веб-технологиями (WebAssembly)

Релизы

20260526major
🕐 3 мес назад · релиз на GitHub ↗

Релиз ncnn 20260526: добавлена поддержка HarmonyOS, масштабное улучшение Vulkan для LLM (FlashAttention, кэширование) и x86/ARM оптимизации.

  • Added: Добавлен процесс публикации готовых пакетов для HarmonyOS с поддержкой CPU/Vulkan и статических/динамических библиотек.
  • Added: Vulkan-бэкенд значительно расширен для больших языковых моделей: добавлены SDPA, FlashAttention, RotaryEmbed, GroupNorm и оптимизации загрузки (mmap, кэширование пайплайнов).
  • Added: x86-бэкенд получил масштабную поддержку bf16 storage для GEMM, свёрток, нормализации и активаций с оптимизациями AVX512BF16.
  • Added: ARM-бэкенд улучшен за счёт реализации ARM SDPA, оптимизации GEMM/Conv для ARMv8.4 BF16 и добавления NEON/fp16 SIMD для новых активаций.
  • Added: Инструмент pnnx обновлён для совместимости с PyTorch 2.10/2.11, добавлена поддержка .npy и статистики FLOPS/memory OPS.