中文版本

TNN: un marco de inferencia de red neuronal de alto rendimiento y de alto rendimiento abierto de Tencent YouTu Lab. También tiene muchas ventajas sobresalientes, como plataforma cruzada, alto rendimiento, compresión del modelo y adaptación de código. El marco TNN fortalece aún más la optimización de soporte y rendimiento de dispositivos móviles sobre la base de los marcos RapidNet y NCNN originales. Al mismo tiempo, se refiere a las características de alto rendimiento y buena escalabilidad de los marcos de código abierto convencionales de la industria, y expande el soporte para las GPU X86 y NV. En el teléfono móvil, TNN ha sido utilizado por muchas aplicaciones como Mobile QQ, Weishi y Pitu. Como marco de aceleración básica para Tencent Cloud AI, TNN ha brindado soporte de aceleración para la implementación de muchas empresas. Todos son bienvenidos a participar en la construcción colaborativa para promover la mejora adicional del marco de inferencia TNN.
| Detección de cara (Blazeface) | Alineación de la cara (de Tencent YouTu Lab) | Segmentación del cabello (del laboratorio de guangishing de Tencent) |
|---|---|---|
Enlace del modelo: Tflite TNN | Enlace del modelo: TNN | Enlace del modelo: TNN |
| Poseer estimación (de Tencent Guangliu) | Poseer estimación (Blazepose) | OCR chino |
|---|---|---|
Enlace del modelo: TNN | Enlace del modelo: Tflite TNN | Enlace del modelo: ONNX TNN |
| Detección de objetos (yolov5s) | Detección de objetos (MobileNetv2-SSD) | Comprensión de lectura |
|---|---|---|
Enlace del modelo: ONNX TNN | ![]() Enlace del modelo: TensorFlow TNN | Enlace del modelo: ONNX TNN |
La demostración de OCR china es la implementación de TNN del proyecto chinocr_lite. Es liviano y admite el reconocimiento de texto inclinado, girado y vertical.
El soporte para cada demostración se muestra en la siguiente tabla. Puede hacer clic en el ✅ ✅ y encontrar el código de entrada para cada demostración.
| manifestación | BRAZO | Opencl | Metal | Huawei npu | NPU de manzana | X86 | Cuda |
|---|---|---|---|---|---|---|---|
| Detección de cara (Blazeface) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Detección de objetos (yolov5s) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Alineación de la cara | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Segmentación del cabello | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Poseer estimación (de Tencent Guangliu) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Pose Estimación (Blazeposa) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| OCR chino | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| Comprensión de lectura | ✅ | ✅ |
Es muy simple de usar TNN. Si tiene un modelo capacitado, el modelo se puede implementar en la plataforma de destino a través de tres pasos.
Convierta el modelo entrenado en un modelo TNN. Proporcionamos una gran cantidad de herramientas para ayudarlo a completar este paso, ya sea que esté utilizando TensorFlow, Pytorch o Caffe, puede completar fácilmente la conversión. Se pueden encontrar tutoriales prácticos detallados aquí cómo crear un modelo TNN.
Cuando haya terminado de convertir el modelo, el segundo paso es compilar el motor TNN de la plataforma de destino. Puede elegir entre diferentes soluciones de aceleración, como ARM/OpenCL/Metal/NPU/X86/CUDA de acuerdo con el soporte de hardware. Para estas plataformas, TNN proporciona scripts convenientes de un solo clic para compilar. Para pasos detallados, consulte cómo compilar TNN.
El paso final es usar el motor TNN compilado para la inferencia. Puede hacer llamadas de programa a TNN dentro de su aplicación. Proporcionamos una demostración rica y detallada como referencia para ayudarlo a completar.
En la actualidad, TNN se ha lanzado en varios negocios importantes, y sus siguientes características han sido ampliamente elogiadas.
Optimización de cálculo
Aceleración de cálculo de baja precisión
Optimización de memoria
El rendimiento de los modelos convencionales en TNN: datos de referencia
Diagrama de arquitectura TNN:

TNN admite TensorFlow, Pytorch, MXNET, Caffe y otros marcos de capacitación a través de ONNX, aprovechando la mejora continua de la Sociedad ONNX Open-Source. Actualmente, TNN admite más de 100 operadores ONNX, que consisten en la mayoría de los operadores de CNN, NLP, necesarios.
TNN se ejecuta en sistemas operativos principales (Android, iOS, Linux incrustado, Windows, Linux), y es compatible con CPU ARM, GPU x86, plataforma de hardware NPU.
TNN se construye a través de un diseño modular, que abstrae y aísla los componentes como el análisis del modelo, la construcción de gráficos, la optimización de gráficos, la adaptación de hardware de bajo nivel y el núcleo de alto rendimiento. Utiliza el "modo de fábrica" para registrar y crear dispositivos, que intenta minimizar el costo de admitir más soluciones de hardware y aceleración.
El tamaño de la biblioteca dinámica móvil es solo de alrededor de 400 kb, y proporciona operaciones básicas de conversión de imágenes, que son ligeras y convenientes. TNN utiliza modelos e interfaces unificados en todas las plataformas y puede cambiar fácilmente configurando un solo parámetro.
TNN hizo referencia a los siguientes proyectos:
Todos son bienvenidos a participar para construir el mejor marco de inferencia en la industria.
Discusión técnica Grupo QQ: 704900079 Respuesta: TNN
Escanee el código QR para unirse al grupo de discusión TNN:
