中文版本

TNN: Ein hochleistungsfähiges, leichtes Neural-Netzwerk-Inferenz-Framework von Tencent YouTu Lab. Es hat auch viele herausragende Vorteile wie plattformübergreifende, hohe Leistung, Modellkomprimierung und Code-Anpassung. Das TNN -Framework stärkt die Unterstützung und Leistungsoptimierung von Mobilgeräten auf der Grundlage der ursprünglichen Rapidnet- und NCNN -Frameworks weiter. Gleichzeitig bezieht es sich auf die hohen Leistung und die guten Skalierbarkeitsmerkmale der Mainstream -Open -Source -Frameworks der Branche und erweitert die Unterstützung für X86- und NV -GPUs. Auf dem Mobiltelefon wurde TNN von vielen Anwendungen wie Mobile QQ, Weishi und PITU verwendet. Als grundlegender Beschleunigungsrahmen für Tencent Cloud AI hat TNN Beschleunigungsunterstützung für die Implementierung vieler Unternehmen geliefert. Jeder ist herzlich eingeladen, an der kollaborativen Konstruktion teilzunehmen, um die weitere Verbesserung des TNN -Inferenz -Frameworks zu fördern.
| Gesichtserkennung (Blazeface) | Gesichtsausrichtung (aus Tencent YouTu Lab) | Haarsegmentierung (aus Tencent Guangying Lab) |
|---|---|---|
Modelllink: Tflite TNN | Modelllink: tnn | Modelllink: tnn |
| POSE -Schätzung (von Tencent Guangliu) | POSE -Schätzung (Blazepose) | Chinesische OCR |
|---|---|---|
Modelllink: tnn | Modelllink: Tflite TNN | Modelllink: Onnx TNN |
| Objekterkennung (Yolov5s) | Objekterkennung (Mobilenetv2-SSD) | Leseverständnis |
|---|---|---|
Modelllink: Onnx TNN | ![]() Modelllink: TensorFlow TNN | Modelllink: Onnx TNN |
Die chinesische OCR -Demo ist die TNN -Implementierung des chinesischen Projekts. Es ist leicht und unterstützt geneigte, gedrehte und vertikale Texterkennung.
Die Unterstützung für jede Demo ist in der folgenden Tabelle angezeigt. Sie können auf ✅ klicken und den Eingangscode für jede Demo finden.
| Demo | ARM | Opencl | Metall | Huawei npu | Apple NPU | X86 | CUDA |
|---|---|---|---|---|---|---|---|
| Gesichtserkennung (Blazeface) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Objekterkennung (Yolov5s) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Gesichtsausrichtung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Haarsegmentierung | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| POSE -Schätzung (von Tencent Guangliu) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Posenschätzung (Blazepose) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Chinesische OCR | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| Leseverständnis | ✅ | ✅ |
Es ist sehr einfach, TNN zu verwenden. Wenn Sie ein geschultes Modell haben, kann das Modell in drei Schritten auf der Zielplattform eingesetzt werden.
Umwandeln Sie das trainierte Modell in ein TNN -Modell. Wir bieten eine Fülle von Werkzeugen, mit denen Sie diesen Schritt abschließen können, unabhängig davon, ob Sie TensorFlow, Pytorch oder Caffe verwenden, die Konvertierung problemlos abschließen können. Detaillierte praktische Tutorials finden Sie hier, wie Sie ein TNN-Modell erstellen.
Wenn Sie das Modell beendet haben, besteht der zweite Schritt darin, die TNN -Engine der Zielplattform zu kompilieren. Sie können zwischen verschiedenen Beschleunigungslösungen wie Arm/OpenCL/Metal/NPU/X86/CUDA gemäß der Hardware -Unterstützung wählen. Für diese Plattformen bietet TNN bequeme Ein-Klick-Skripte zum Kompilieren. Ausführliche Schritte finden Sie unter der Kompilierung von TNN.
Der letzte Schritt besteht darin, den kompilierten TNN -Motor für die Inferenz zu verwenden. Sie können Programmanrufe bei TNN in Ihrer Anwendung tätigen. Wir bieten eine reichhaltige und detaillierte Demo als Referenz, um Ihnen zu helfen.
Derzeit wurde TNN in verschiedenen großen Unternehmen eingeführt, und seine folgenden Merkmale wurden weit verbreitet.
Berechnungsoptimierung
Berechnungsbeschleunigung mit geringer Präzision
Speicheroptimierung
Die Leistung von Mainstream -Modellen auf TNN: Benchmark -Daten
TNN Architekturdiagramm:

TNN unterstützt TensorFlow, Pytorch, MXNET, Caffe und andere Trainingsrahmen über ONNX und nutzt die kontinuierliche Verbesserung der Open-Source-Gesellschaft von ONNX. Derzeit unterstützt TNN mehr als 100 ONNX -Operatoren, die aus den meisten Mainstream -CNN -NLP -Operatoren bestehen.
TNN läuft auf Mainstream -Betriebssystemen (Android, iOS, eingebetteter Linux, Windows, Linux) und ist mit ARM -CPU, X86 GPU, NPU -Hardware -Plattform kompatibel.
TNN wird durch modulares Design konstruiert, das Komponenten wie Modellanalyse, Diagrammkonstruktion, Diagrammoptimierung, Hardwareanpassung auf niedriger Ebene und Hochleistungskern abstrahiert und isoliert. Es verwendet "Werksmodus", um Geräte zu registrieren und zu erstellen, um die Kosten für die Unterstützung mehr Hardware- und Beschleunigungslösungen zu minimieren.
Die Größe der mobilen dynamischen Bibliothek beträgt nur etwa 400 KB und bietet grundlegende Bildumwandlungsvorgänge, die leicht und bequem sind. TNN verwendet einheitliche Modelle und Schnittstellen über Plattformen hinweg und kann einfach wechseln, indem nur ein einzelner Parameter konfiguriert wird.
TNN bezog sich auf die folgenden Projekte::
Jeder ist herzlich eingeladen, sich am besten Inferenz -Framework der Branche zu entwickeln.
Technische Diskussion QQ Group: 704900079 Antwort: TNN
Scannen Sie den QR -Code, um der TNN -Diskussionsgruppe beizutreten:
