中文版本

TNN: Un cadre d'inférence de réseau neuronal haute performance et léger ouvert à l'origine de Tencent Youtu Lab. Il présente également de nombreux avantages exceptionnels tels que la plate-forme multiplateuse, les performances élevées, la compression du modèle et la couture du code. Le cadre TNN renforce en outre l'optimisation du support et des performances des appareils mobiles sur la base des cadres RapidNet et NCNN d'origine. Dans le même temps, il fait référence aux caractéristiques de haute performance et de bonnes évolutives des cadres open source traditionnels de l'industrie et élargit le support des GPU x86 et NV. Sur le téléphone mobile, TNN a été utilisé par de nombreuses applications telles que Mobile QQ, Weishi et Pittu. En tant que cadre d'accélération de base pour Tencent Cloud AI, TNN a fourni un support d'accélération pour la mise en œuvre de nombreuses entreprises. Tout le monde est invité à participer à la construction collaborative pour promouvoir l'amélioration supplémentaire du cadre d'inférence TNN.
| Détection du visage (Blazeface) | Alignement du visage (de Tencent Youtu Lab) | Segmentation des cheveux (de Tencent Guangy Lab) |
|---|---|---|
Lien modèle: tflite tnn | Lien modèle: TNN | Lien modèle: TNN |
| Estimation de la pose (de Tencent Guangliu) | Estimation de la pose (Blazepose) | OCR chinois |
|---|---|---|
Lien modèle: TNN | Lien modèle: tflite tnn | Lien modèle: onnx tnn |
| Détection d'objet (Yolov5s) | Détection d'objet (MobileNetv2-SSD) | Compréhension de la lecture |
|---|---|---|
Lien modèle: onnx tnn | ![]() Lien modèle: TensorFlow TNN | Lien modèle: onnx tnn |
La démo de l'OCR chinois est la mise en œuvre du projet chinoisocr_lite. Il est léger et prend en charge la reconnaissance de texte inclinée, tournée et verticale.
La prise en charge de chaque démo est indiquée dans le tableau suivant. Vous pouvez cliquer sur ✅ et trouver le code d'entrée pour chaque démo.
| démo | BRAS | Opencl | Métal | Huawei npu | Pomme npu | X86 | Cuda |
|---|---|---|---|---|---|---|---|
| Détection du visage (Blazeface) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Détection d'objet (Yolov5s) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Alignement du visage | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Segmentation des cheveux | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Estimation de la pose (de Tencent Guangliu) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Estimation de la pose (blazepose) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| OCR chinois | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| Compréhension de la lecture | ✅ | ✅ |
Il est très simple d'utiliser TNN. Si vous avez un modèle formé, le modèle peut être déployé sur la plate-forme cible en trois étapes.
Convertissez le modèle formé en un modèle TNN. Nous fournissons une multitude d'outils pour vous aider à terminer cette étape, que vous utilisiez TensorFlow, Pytorch ou Caffe, vous pouvez facilement terminer la conversion. Des tutoriels pratiques détaillés peuvent être trouvés ici comment créer un modèle TNN.
Lorsque vous avez terminé la conversion du modèle, la deuxième étape consiste à compiler le moteur TNN de la plate-forme cible. Vous pouvez choisir parmi différentes solutions d'accélération telles que ARM / OpenCL / Metal / NPU / X86 / CUDA selon la prise en charge matérielle. Pour ces plates-formes, TNN fournit des scripts en un clic pratique à compiler. Pour des étapes détaillées, veuillez vous référer à la façon de compiler TNN.
La dernière étape consiste à utiliser le moteur TNN compilé pour l'inférence. Vous pouvez passer des appels de programme à TNN dans votre application. Nous fournissons une démo riche et détaillée comme référence pour vous aider à terminer.
À l'heure actuelle, le TNN a été lancé dans diverses grandes entreprises, et ses caractéristiques suivantes ont été largement appréciées.
Optimisation de calcul
Accélération de calcul de faible précision
Optimisation de la mémoire
Les performances des modèles grand public sur TNN: données de référence
Diagramme d'architecture TNN:

TNN prend en charge Tensorflow, Pytorch, MXNET, CAFFE et d'autres cadres de formation via ONNX, en tirant parti de l'amélioration continue de la Société open-source ONNX. Actuellement, TNN prend en charge plus de 100 opérateurs ONNX, composé de la plupart des opérateurs de CNN traditionnels, NEP.
TNN s'exécute sur les systèmes d'exploitation traditionnels (Android, iOS, Linux intégrés, Windows, Linux), et est compatible avec la plate-forme matérielle du CPU ARM, X86 GPU, NPU.
Le TNN est construit par conception modulaire, qui résume et isole des composants tels que l'analyse de modèle, la construction de graphiques, l'optimisation des graphiques, l'adaptation matérielle de bas niveau et le noyau haute performance. Il utilise le "mode d'usine" pour enregistrer et créer des appareils, qui essaie de minimiser le coût de prise en charge de plus de solutions matérielles et d'accélération.
La taille de la bibliothèque dynamique mobile n'est qu'environ 400 Ko, et elle fournit des opérations de conversion d'image de base, qui sont légères et pratiques. TNN utilise des modèles et des interfaces unifiés sur les plates-formes et peut changer facilement en configurant un seul paramètre.
TNN fait référence aux projets suivants:
Tout le monde est invité à participer pour construire le meilleur cadre d'inférence de l'industrie.
Discussion technique Groupe QQ: 704900079 Réponse: TNN
Scannez le code QR pour rejoindre le groupe de discussion TNN:
