1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        TNN移動(dòng)端推理框架

        聯(lián)合創(chuàng)作 · 2023-09-26 05:42

        TNN是一個(gè)移動(dòng)端高性能、輕量級(jí)推理框架,同時(shí)擁有跨平臺(tái)、高性能、模型壓縮、代碼裁剪等眾多突出優(yōu)勢。TNN框架在原有Rapidnet、ncnn框架的基礎(chǔ)上進(jìn)一步加強(qiáng)了移動(dòng)端設(shè)備的支持以及性能優(yōu)化,同時(shí)也借鑒了業(yè)界主流開源框架高性能和良好拓展性的優(yōu)點(diǎn)。目前TNN已經(jīng)在手Q、微視、P圖等應(yīng)用中落地,歡迎大家參與協(xié)同共建,促進(jìn)TNN推理框架進(jìn)一步完善。

        快速開始

        使用 TNN 非常簡單,如果你有一個(gè)已經(jīng)訓(xùn)練好的模型, 那么一般而言通過以下三個(gè)步驟就能完成模型在目標(biāo)平臺(tái)上的部署。

        1. 第一步是把訓(xùn)練好的模型轉(zhuǎn)換成TNN的模型,為此我們提供了豐富的工具來幫助你完成這一步,無論你使用的是 TensorFlow、PyTorch、或者 Caffe,都可以輕松完成轉(zhuǎn)換。

        2. 當(dāng)你完成了模型的轉(zhuǎn)換,第二步就是編譯目標(biāo)平臺(tái)的 TNN 引擎了,你可以根據(jù)自己的目標(biāo)平臺(tái)的硬件支持情況,選擇 CPU/ARM/OpenCL/Metal 等加速方案。 對(duì)于這些平臺(tái),TNN 都提供了一鍵編譯的腳本,使用非常方便。

        3. 最后一步就是使用編譯好的 TNN 引擎進(jìn)行推理,你可以在自己的應(yīng)用程序中嵌入對(duì) TNN 的調(diào)用,這方面我們提供了豐富而詳實(shí)的 demo 來幫助你完成。

        技術(shù)方案

        目前TNN已經(jīng)在手Q、微視、P圖等應(yīng)用中落地:

        • 計(jì)算優(yōu)化

          • 針對(duì)不同架構(gòu)在硬件指令發(fā)射、吞吐、延遲、緩存帶寬、緩存延遲、寄存器數(shù)量等特點(diǎn),深度優(yōu)化底層算子,極致利用硬件算力
          • 主流硬件平臺(tái)(CPU: ARMv7, ARMv8, GPU: Mali, Adreno, Apple) 深度調(diào)優(yōu)
          • CNN 核心卷積運(yùn)算通過 Winograd,Tile-GEMM, Direct Conv 等多種算法實(shí)現(xiàn),保證不同參數(shù)、計(jì)算尺度下高效計(jì)算
          • Op 融合:離線分析網(wǎng)絡(luò)計(jì)算圖,多個(gè)小 Op(計(jì)算量小、功能較簡單)融合運(yùn)算,減少反復(fù)內(nèi)存讀取、kernel 啟動(dòng)等開銷
        • 低精度優(yōu)化

          • 支持 INT8, FP16 低精度計(jì)算,減少模型大小、內(nèi)存消耗,同時(shí)利用硬件低精度計(jì)算指令加速計(jì)算
          • 支持 INT8 Winograd 算法,(輸入6bit), 在精度滿足要求的情況下,進(jìn)一步降低模型計(jì)算復(fù)雜度
          • 支持單模型多種精度混合計(jì)算,加速計(jì)算同時(shí)保證模型精度
        • 內(nèi)存優(yōu)化

          • 高效”內(nèi)存池”實(shí)現(xiàn):通過 DAG 網(wǎng)絡(luò)計(jì)算圖分析,實(shí)現(xiàn)無計(jì)算依賴的節(jié)點(diǎn)間復(fù)用內(nèi)存,降低 90% 內(nèi)存資源消耗
          • 跨模型內(nèi)存復(fù)用:支持外部實(shí)時(shí)指定用于網(wǎng)絡(luò)內(nèi)存,實(shí)現(xiàn)“多個(gè)模型,單份內(nèi)存”。
        • 主流模型實(shí)測性能:v0.1 2020.05.29

          • 麒麟970:

            model cpu time(單線程,ms) gpu time(ms)
            Mobilenet_v1 88 12
            Mobilenet_v1_int8 55  
            Mobilenet_v2 58 11
            Mobilenet_v2_int8 41  
            squeezenet_v1.0 127 20
            squeezenet_v1.0_int8 82  
          • 驍龍835:

            model cpu time(單線程,ms) gpu time(ms)
            Mobilenet_v1 94 16
            Mobilenet_v1_int8 62  
            Mobilenet_v2 61 14
            Mobilenet_v2_int8 47  
            squeezenet_v1.0 122 28
            squeezenet_v1.0_int8 93  
          • 驍龍845:

            model cpu time(單線程,ms) gpu time(ms)
            Mobilenet_v1 60 10
            Mobilenet_v1_int8 37  
            Mobilenet_v2 39 8
            Mobilenet_v2_int8 28  
            squeezenet_v1.0 74 14
            squeezenet_v1.0_int8 56  
        • TNN架構(gòu)圖:

           

        • 通過 ONNX 支持 TensorFlow, PyTorch, MXNet, Caffe 等多種訓(xùn)練框架,充分利用和融入不斷完善的 ONNX 開源生態(tài)。當(dāng)前支持 ONNX 算子55個(gè),近期會(huì)完善到約80個(gè),覆蓋主流CNN網(wǎng)絡(luò)

        • 支持主流安卓、iOS、Embedded Linux 操作系統(tǒng),支持 ARM CPU, GPU 硬件平臺(tái)(近期還會(huì)加入達(dá)芬奇 NPU 支持)

        • 模塊化設(shè)計(jì),將模型解析、計(jì)算圖構(gòu)建、優(yōu)化、底層硬件適配、高性能 kernel 實(shí)現(xiàn)各部分抽象隔離,通過 Factory Mode 注冊(cè)、構(gòu)建設(shè)備,方便接入更多的底層硬件、加速方案。

        • Runtime 無任何第三方庫依賴,CPU 動(dòng)態(tài)庫尺寸僅約 400KB,并提供基礎(chǔ)圖像變換操作,調(diào)用簡單便捷??缙脚_(tái)模型統(tǒng)一、調(diào)用接口統(tǒng)一,通過單個(gè)配置參數(shù)快速切換。

        瀏覽 24
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            操人在线 | 黄工厂精品视频在线播放 | 情趣网站在线观看 | 性欧美tube | 精产国品一区二区区别 | 成人性生交大片免费看黄103 | 成人超碰是摸夜舔天天操 | 炮友五月天 | 久久精品熟妇丰满人妻99 | 国产老女人91精品一区 |