1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chaaaaaaaaaa-ncnn

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ncnn

License Build Status Coverage Status codecov

ncnn — это высокопроизводительная нейронная сеть для вычислений, оптимизированная для мобильных платформ. ncnn с самого начала разработки учитывает особенности развёртывания и использования на мобильных телефонах. ncnn не имеет сторонних зависимостей, является кроссплатформенным и работает быстрее, чем все известные фреймворки с открытым исходным кодом на мобильных процессорах. Разработчики могут легко внедрять модели алгоритмов глубокого обучения в мобильные платформы с помощью эффективной реализации ncnn, создавать интеллектуальные приложения и приближать искусственный интеллект к своим пользователям. В настоящее время ncnn используется во многих приложениях Tencent, таких как QQ, Qzone, WeChat, Pitu и других.


Текущий статус сборки матрицы

Система CPU (32bit) CPU (64bit) GPU (32bit) GPU (64bit)
Linux (GCC) Build Status Build Status
Linux (Clang) Build Status Build Status
Linux (MIPS) Build Status
Windows (VS2017) Build Status Build Status
Windows (VS2019) Build Status Build Status
MacOS Build Status Build Status
Android Build Status Build Status [![Build

Примечание: в запросе отсутствует часть текста. Статус](https://img.shields.io/github/workflow/status/Tencent/ncnn/android-armv7-gpu)](https://github.com/Tencent/ncnn/actions?query=workflow%3Aandroid-armv7-gpu) | Build Status | | Android-x86 | Build Status | Build Status | Build Status | Build Status | | iOS | Build Status | — | — | Build Status | | iOS Simulator | Build Status | — | — | — | | WebAssembly | — | Build Status | — | — |


Поддержка большинства используемых CNN сетей

  • Классические CNN: VGG, AlexNet, GoogleNet, Inception и др.
  • Практические CNN: ResNet, DenseNet, SENet, FPN и др.
  • Лёгкие CNN: SqueezeNet, MobileNetV1/V2/V3, ShuffleNetV1/V2, MNasNet и др.
  • Обнаружение: MTCNN, facedetection и др.
  • Обнаружение: VGG-SSD, MobileNet-SSD, SqueezeNet-SSD, MobileNetV2-SSDLite и др.
  • Обнаружение: Faster-RCNN, R-FCN и др.
  • Обнаружение: YOLOV2, YOLOV3, MobileNet-YOLOV3 и др.
  • Сегментация: FCN, PSPNet, UNet и др.

Как это сделать

Как собрать библиотеку ncnn на Linux / Windows / Raspberry Pi3 / Android / NVIDIA Jetson / iOS

Скачать готовые бинарные пакеты для android и ios

[Использовать ncnn с] NCNN: низкоуровневая библиотека для работы с нейронными сетями

Подробная инструкция для новичков, с примерами на китайском языке)

Использование NCNN с AlexNet

**NCNN 组件使用指北 AlexNet 附带详细步骤,新人强烈推荐 :)**

Используйте Netron для визуализации моделей NCNN

Низкоуровневый API операций NCNN

Спецификация файлов параметров и моделей NCNN

Таблица весов параметров операций NCNN

Пошаговая реализация пользовательского слоя


FAQ

Ошибки NCNN

Неверные результаты NCNN

Vulkan в NCNN


Особенности

  • Поддерживает свёрточные нейронные сети, поддерживает несколько входов и многоветвевую структуру, может вычислять часть ветви.
  • Не зависит от сторонних библиотек, не полагается на BLAS / NNPACK или любую другую вычислительную среду.
  • Чистая C ++ реализация, кроссплатформенность, поддержка Android, iOS и т. д.
  • Тщательная оптимизация уровня сборки ARM NEON, чрезвычайно высокая скорость вычислений.
  • Сложное управление памятью и дизайн структуры данных, очень низкий объём памяти.
  • Поддержка ускорения параллельных вычислений на нескольких ядрах, оптимизация планирования процессора ARM big.LITTLE.
  • Поддержка ускорения GPU через новый низкозатратный Vulkan API.
  • Общий размер библиотеки менее 700 КБ, можно легко уменьшить до менее чем 300 КБ.
  • Расширяемая модель дизайна, поддерживает 8-битное квантование и хранение с плавающей запятой половинной точности, может импортировать модели caffe / pytorch / mxnet / onnx.
  • Возможность регистрации с реализацией пользовательских слоёв и расширения.
  • Очень мощная, не боится переполнения QvQ.

Обзор функций

  • Поддержка свёрточных нейронных сетей, поддержка нескольких входов и многоветвевой структуры, возможность вычисления части ветви.
  • Отсутствие зависимостей от каких-либо сторонних библиотек, независимость от BLAS/NNPACK и других вычислительных сред.
  • Реализация на чистом C++, кроссплатформенная, поддерживающая Android, iOS и другие платформы.
  • Оптимизация уровня сборки ARM NEON обеспечивает высокую скорость вычислений.
  • Тщательно продуманное управление памятью и структура данных обеспечивают крайне низкий уровень потребления памяти.
  • Ускорение параллельных вычислений на множестве ядер, оптимизация планирования процессоров ARM big.LITTLE.
  • Поддержка ускорения графического процессора через новый низкозатратный API Vulkan.
  • Размер библиотеки составляет менее 700 Кб, что позволяет легко сократить его до менее чем 300 Кб.
  • Модель с расширяемой архитектурой, поддерживающая 8-битное квантование и хранение данных с плавающей точкой половинной точности, способная импортировать модели из caffe/pytorch/mxnet/onnx.
  • Регистрация с возможностью реализации пользовательских слоёв и их расширения.
  • Чрезвычайно мощная, не боящаяся переполнения QvQ.

Матрица поддерживаемых платформ

Windows Linux Android MacOS iOS
intel-cpu ✔️ ✔️ ✔️ /
intel-gpu ✔️ ✔️ /
amd-cpu ✔️ ✔️ ✔️ /
amd-gpu ✔️ ✔️ /
nvidia-gpu ✔️ ✔️ /
qcom-cpu ✔️ / /
qcom-gpu ✔️ ✔️ / /
arm-cpu / /
arm-gpu ✔️ / /
apple-cpu / / / /
apple-gpu / / / / ✔️

Примеры проектов

Техническая группа обмена: 637093648 (очень много экспертов) Ответ: на на на на на


Лицензия

BSD 3 Clause

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это продукт высокопроизводительного механизма логического вывода нейронных сетей, разработанный компанией Tencent с открытым исходным кодом. Он предназначен для решения задач, связанных с развёртыванием и оптимизацией сетевых моделей на стороне сервера. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chaaaaaaaaaa-ncnn.git
git@api.gitlife.ru:oschina-mirror/chaaaaaaaaaa-ncnn.git
oschina-mirror
chaaaaaaaaaa-ncnn
chaaaaaaaaaa-ncnn
master