XiaoMi/mace

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

Прочее⭐ 5 048C++последний релиз: v1.1.1
Открыть на GitHub ↗

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

MACE (Mobile AI Compute Engine) — это фреймворк для инференса нейросетей, оптимизированный для мобильных устройств и гетерогенных вычислений.

Зачем нужен

Инструмент предназначен для эффективного запуска моделей машинного обучения на Android, iOS, Linux и Windows. Он решает задачи ускорения вычислений, снижения энергопотребления и защиты моделей, обеспечивая отзывчивость пользовательского интерфейса.

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

  • Разработка мобильных приложений с интеграцией нейросетей (Android, iOS)
  • Запуск моделей на мобильных SoC (Qualcomm, MediaTek, Pinecone) с использованием GPU и DSP
  • Оптимизация времени отклика UI при тяжелых вычислениях в реальном времени
  • Защита интеллектуальной собственности через конвертацию моделей в C++ код и обфускацию

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

  • Поддержка аппаратных ускорителей: NEON, OpenCL, Hexagon и алгоритм Winograd для свертки
  • Встроенные механизмы защиты моделей (конвертация в C++, обфускация)
  • Гарантия отзывчивости UI за счет прерывания OpenCL-ядер
  • Поддержка форматов TensorFlow, Caffe и ONNX
  • Минимальное потребление памяти и маленький размер библиотеки

👤 Кому подойдёт: Мобильные разработчики, инженеры по машинному обучению, специалисты по оптимизации производительности на edge-устройствах

Релизы

v1.1.1minor
🕐 57 мес назад · релиз на GitHub ↗

Релиз MACE v1.1.1: добавлена поддержка QNN, APU v4, OpenCL 3.0, новых операторов и оптимизация производительности CPU/GPU.

  • Added: Добавлен бэкенд QNN и обновлена библиотека QNN.
  • Added: Поддержка буферов ION на APU v4, OpenCL 3.0 и режима MTK ION.
  • Added: Реализованы новые операторы: DepthToSpace, SpaceToDepth, ReduceSum, DetectionOutput, InstanceNorm, HardSigmoid и другие.
  • Added: Добавлен MACE-Micro runtime с интерфейсом загрузки моделей и валидацией.
  • Fixed: Исправлены ошибки совместимости, стабильности и конвертации, а также ошибки в документации.