Repolode
Tencent

Tencent/ncnn

Framework de inferencia de redes neuronales de alto rendimiento en C++ para ejecutar modelos de deep learning en dispositivos móviles, integrados y de escritorio.

Alternativa open source a:TensorFlow LiteCore ML

Estrellas
23,985
Forks
4,532
Issues abiertos
1,268
Último commit
ayer

¿Qué es?

ncnn es un framework de inferencia de redes neuronales escrito en C++ para desplegar modelos entrenados en teléfonos, PC, navegadores y dispositivos edge. No tiene dependencias de ejecución de terceros y funciona en CPU con optimizaciones ARM NEON o en GPU Vulkan.

Los modelos de PyTorch y ONNX se convierten con la herramienta pnnx al formato .param y .bin de ncnn y luego se cargan mediante una API de C++, C o Python. El proyecto admite grafos con múltiples entradas y salidas, inferencia cuantizada fp16 e int8 y capas personalizadas. Las instrucciones de compilación abarcan Linux, Windows, macOS, Android, iOS, HarmonyOS, WebAssembly y varias placas integradas.

Según la documentación, varias aplicaciones de Tencent utilizan el proyecto, entre ellas QQ, Qzone y WeChat. También incluye ejemplos de modelos CNN clásicos, como YOLO y MobileNet, además de cargas de trabajo más recientes, como demos de LLM y generación de imágenes.

Funciones clave

  • 01Funciona en CPU con optimizaciones ARM NEON y planificación multinúcleo, o en GPU Vulkan.
  • 02No tiene dependencias de ejecución de terceros.
  • 03Convierte modelos de PyTorch y ONNX con la herramienta pnnx.
  • 04Ofrece API de C++, C y Python.
  • 05Admite inferencia cuantizada fp16 e int8 y capas personalizadas.
  • 06Se compila para Android, iOS, HarmonyOS, Windows, Linux, macOS y WebAssembly.

Casos de uso

  • Ejecutar modelos de detección de objetos o rostros dentro de una aplicación móvil.
  • Desplegar un modelo de PyTorch en una placa integrada sin un entorno de ejecución pesado.
  • Ejecutar inferencias de redes neuronales en un navegador mediante WebAssembly.
  • Añadir funciones de IA a una aplicación de escritorio en C++.

Inicio rápido

  1. 1

    Instala pnnx en un entorno de PyTorch

    pip3 install pnnx
  2. 2

    Exporta un modelo de PyTorch a ncnn con pnnx.export

  3. 3

    Carga el modelo generado y ejecuta la inferencia con la API de C++ o Python de ncnn

Antes de usarlo

  • Para compilar ncnn para muchas plataformas, hay que seguir la guía independiente de compilación de la wiki.
  • La licencia no está asignada en los metadatos, aunque la insignia del README indica BSD 3-Clause; consulta LICENSE.txt antes de usarlo.

Temas

Preguntas frecuentes

¿Qué es ncnn?
Framework de inferencia de redes neuronales de alto rendimiento en C++ para ejecutar modelos de deep learning en dispositivos móviles, integrados y de escritorio. ncnn es un framework de inferencia de redes neuronales escrito en C++ para desplegar modelos entrenados en teléfonos, PC, navegadores y dispositivos edge. No tiene dependencias de ejecución de terceros y funciona en CPU con optimizaciones ARM NEON o en GPU Vulkan.
¿ncnn es gratuito? ¿Qué licencia tiene?
ncnn es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ncnn sigue mantenido?
Mantenimiento activo. El último commit de ncnn fue el 20 oct 2026.
¿Para qué puedo usar ncnn?
Ejecutar modelos de detección de objetos o rostros dentro de una aplicación móvil. Desplegar un modelo de PyTorch en una placa integrada sin un entorno de ejecución pesado. Ejecutar inferencias de redes neuronales en un navegador mediante WebAssembly. Añadir funciones de IA a una aplicación de escritorio en C++.
¿Cómo se instala ncnn?
Instala pnnx en un entorno de PyTorch: pip3 install pnnx Exporta un modelo de PyTorch a ncnn con pnnx.export Carga el modelo generado y ejecuta la inferencia con la API de C++ o Python de ncnn
¿Dónde consigo ncnn?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Tencent/ncnn

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados