中文版本

TNN: Uma estrutura de inferência de rede neural leve e de alto desempenho e de origem aberta pelo tencent Youtu Lab. Ele também possui muitas vantagens pendentes, como plataforma cruzada, alto desempenho, compactação de modelos e alfaiataria de código. A estrutura do TNN fortalece ainda mais o suporte e a otimização de desempenho de dispositivos móveis com base nas estruturas RapidNet e NCNN originais. Ao mesmo tempo, refere -se ao alto desempenho e às características de boa escalabilidade das estruturas de código aberto principal do setor e expande o suporte para GPUs X86 e NV. No telefone celular, a TNN foi usada por muitos aplicativos como QQ móvel, Weishi e PITU. Como uma estrutura básica de aceleração para a Tencent Cloud AI, a TNN forneceu suporte de aceleração para a implementação de muitas empresas. Todos são convidados a participar da construção colaborativa para promover a melhoria adicional da estrutura de inferência da TNN.
| Detecção de rosto (blazeface) | Alinhamento de rosto (De Tencent Youtu Lab) | Segmentação capilar (do Tencent Guangying Lab) |
|---|---|---|
Link do modelo: tflite tnn | Link do modelo: tnn | Link do modelo: tnn |
| Estimativa de pose (De Tencent Guangliu) | Estimativa de pose (Blazeposição) | OCR chinês |
|---|---|---|
Link do modelo: tnn | Link do modelo: tflite tnn | Link do modelo: Onnx TNN |
| Detecção de objetos (Yolov5s) | Detecção de objetos (MobileNetv2-SSD) | Compreensão de leitura |
|---|---|---|
Link do modelo: Onnx TNN | ![]() Link do modelo: Tensorflow tnn | Link do modelo: Onnx TNN |
A demonstração chinesa do OCR é a implementação do TNN do projeto chinêsCr_lite. É leve e suporta o reconhecimento de texto inclinado, rotacionado e vertical.
O suporte para cada demonstração é mostrado na tabela a seguir. Você pode clicar no ✅ e encontrar o código de entrada para cada demonstração.
| demonstração | BRAÇO | OpenCl | Metal | Huawei NPU | Apple NPU | X86 | CUDA |
|---|---|---|---|---|---|---|---|
| Detecção de rosto (blazeface) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Detecção de objetos (Yolov5s) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Alinhamento de rosto | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Segmentação capilar | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Estimativa de pose (De Tencent Guangliu) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Estimativa de pose (blazeposição) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| OCR chinês | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| Compreensão de leitura | ✅ | ✅ |
É muito simples usar TNN. Se você possui um modelo treinado, o modelo pode ser implantado na plataforma de destino através de três etapas.
Converta o modelo treinado em um modelo TNN. Fornecemos uma riqueza de ferramentas para ajudá -lo a concluir esta etapa, esteja você usando o Tensorflow, Pytorch ou Caffe, pode facilmente concluir a conversão. Tutoriais práticos detalhados podem ser encontrados aqui como criar um modelo TNN.
Quando você terminar de converter o modelo, a segunda etapa é compilar o motor TNN da plataforma de destino. Você pode escolher entre diferentes soluções de aceleração, como ARM/OpenCL/Metal/NPU/X86/CUDA, de acordo com o suporte de hardware. Para essas plataformas, a TNN fornece scripts convenientes com um clique para compilar. Para etapas detalhadas, consulte como compilar a TNN.
A etapa final é usar o motor TNN compilado para inferência. Você pode fazer chamadas de programa para TNN dentro do seu aplicativo. Fornecemos uma demonstração rica e detalhada como uma referência para ajudá -lo a concluir.
Atualmente, a TNN foi lançada em vários negócios importantes, e suas seguintes características foram amplamente elogiadas.
Otimização da computação
Aceleração de computação de baixa precisão
Otimização da memória
O desempenho dos modelos convencionais no TNN: dados de benchmark
Diagrama de arquitetura TNN:

A TNN suporta Tensorflow, Pytorch, MXNET, Caffe e outras estruturas de treinamento através do ONNX, alavancando a melhoria contínua da Sociedade Open de Fede Aberta. Atualmente, a TNN suporta mais de 100 operadores de ONNX, consistindo na maioria dos principais operadores da CNN e PNL.
O TNN é executado em sistemas operacionais convencionais (Android, iOS, Linux incorporado, Windows, Linux) e é compatível com a plataforma de hardware ARM CPU, X86 GPU, NPU.
O TNN é construído através do design modular, que abstrava e isola componentes como análise de modelo, construção de gráficos, otimização de gráficos, adaptação de hardware de baixo nível e kernel de alto desempenho. Ele usa o "modo de fábrica" para registrar e criar dispositivos, que tenta minimizar o custo de apoiar mais soluções de hardware e aceleração.
O tamanho da biblioteca dinâmica móvel é de apenas 400kb e fornece operações básicas de conversão de imagens, que são leves e convenientes. A TNN usa modelos e interfaces unificados entre plataformas e pode alternar facilmente configurando apenas um único parâmetro.
A TNN referenciou os seguintes projetos:
Todos podem participar para criar a melhor estrutura de inferência do setor.
Discussão Técnica QQ Grupo: 704900079 Resposta: TNN
Digitalize o código QR para ingressar no grupo de discussão da TNN:
