資料介紹
軟件簡(jiǎn)介
TNN是一個(gè)移動(dòng)端高性能、輕量級(jí)推理框架,同時(shí)擁有跨平臺(tái)、高性能、模型壓縮、代碼裁剪等眾多突出優(yōu)勢(shì)。TNN框架在原有Rapidnet、ncnn框架的基礎(chǔ)上進(jìn)一步加強(qiáng)了移動(dòng)端設(shè)備的支持以及性能優(yōu)化,同時(shí)也借鑒了業(yè)界主流開(kāi)源框架高性能和良好拓展性的優(yōu)點(diǎn)。目前TNN已經(jīng)在手Q、微視、P圖等應(yīng)用中落地,歡迎大家參與協(xié)同共建,促進(jìn)TNN推理框架進(jìn)一步完善。
快速開(kāi)始
使用 TNN 非常簡(jiǎn)單,如果你有一個(gè)已經(jīng)訓(xùn)練好的模型, 那么一般而言通過(guò)以下三個(gè)步驟就能完成模型在目標(biāo)平臺(tái)上的部署。
-
第一步是把訓(xùn)練好的模型轉(zhuǎn)換成TNN的模型,為此我們提供了豐富的工具來(lái)幫助你完成這一步,無(wú)論你使用的是 TensorFlow、PyTorch、或者 Caffe,都可以輕松完成轉(zhuǎn)換。
-
當(dāng)你完成了模型的轉(zhuǎn)換,第二步就是編譯目標(biāo)平臺(tái)的 TNN 引擎了,你可以根據(jù)自己的目標(biāo)平臺(tái)的硬件支持情況,選擇 CPU/ARM/OpenCL/Metal 等加速方案。 對(duì)于這些平臺(tái),TNN 都提供了一鍵編譯的腳本,使用非常方便。
-
最后一步就是使用編譯好的 TNN 引擎進(jìn)行推理,你可以在自己的應(yīng)用程序中嵌入對(duì) TNN 的調(diào)用,這方面我們提供了豐富而詳實(shí)的 demo 來(lái)幫助你完成。
- 從0開(kāi)始跑通一個(gè)iOS Demo
- 從0開(kāi)始跑通一個(gè)Android 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)算通過(guò) Winograd,Tile-GEMM, Direct Conv 等多種算法實(shí)現(xiàn),保證不同參數(shù)、計(jì)算尺度下高效計(jì)算
- Op 融合:離線分析網(wǎng)絡(luò)計(jì)算圖,多個(gè)小 Op(計(jì)算量小、功能較簡(jiǎn)單)融合運(yùn)算,減少反復(fù)內(nèi)存讀取、kernel 啟動(dòng)等開(kāi)銷(xiāo)
-
低精度優(yōu)化
- 支持 INT8, FP16 低精度計(jì)算,減少模型大小、內(nèi)存消耗,同時(shí)利用硬件低精度計(jì)算指令加速計(jì)算
- 支持 INT8 Winograd 算法,(輸入6bit), 在精度滿(mǎn)足要求的情況下,進(jìn)一步降低模型計(jì)算復(fù)雜度
- 支持單模型多種精度混合計(jì)算,加速計(jì)算同時(shí)保證模型精度
-
內(nèi)存優(yōu)化
- 高效”內(nèi)存池”實(shí)現(xiàn):通過(guò) DAG 網(wǎng)絡(luò)計(jì)算圖分析,實(shí)現(xiàn)無(wú)計(jì)算依賴(lài)的節(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í)測(cè)性能:v0.1 2020.05.29
-
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 ? -
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)圖:
?
-
通過(guò) ONNX 支持 TensorFlow, PyTorch, MXNet, Caffe 等多種訓(xùn)練框架,充分利用和融入不斷完善的 ONNX 開(kāi)源生態(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)各部分抽象隔離,通過(guò) Factory Mode 注冊(cè)、構(gòu)建設(shè)備,方便接入更多的底層硬件、加速方案。
-
Runtime 無(wú)任何第三方庫(kù)依賴(lài),CPU 動(dòng)態(tài)庫(kù)尺寸僅約 400KB,并提供基礎(chǔ)圖像變換操作,調(diào)用簡(jiǎn)單便捷。跨平臺(tái)模型統(tǒng)一、調(diào)用接口統(tǒng)一,通過(guò)單個(gè)配置參數(shù)快速切換。
- 納米框架Esp32開(kāi)源分享
- 開(kāi)源霧計(jì)算軟件框架FogLAMP介紹(二):FogLAMP介紹
- 開(kāi)源霧計(jì)算軟件框架FogLAMP介紹(三):FogLAMP架構(gòu)分析
- 移動(dòng)端基于GPU推理的神經(jīng)網(wǎng)絡(luò)推理框架
- 端側(cè)softmax推理的數(shù)學(xué)等價(jià)優(yōu)化
- 開(kāi)源網(wǎng)絡(luò)協(xié)議分析器WireShark軟件下載 15次下載
- 跨媒體數(shù)據(jù)分析與推理技術(shù)綜述 15次下載
- 一種基于框架特征的共指消解方法 7次下載
- 如何使用物聯(lián)網(wǎng)操作系統(tǒng)Zephyr實(shí)現(xiàn)“連續(xù)集成”開(kāi)源軟件的詳細(xì)說(shuō)明
- 基于改進(jìn)模糊熵和證據(jù)推理的多屬性決策方法 1次下載
- 網(wǎng)絡(luò)資源分配框架的軟件設(shè)計(jì)和應(yīng)用 10次下載
- 移動(dòng)機(jī)器人軟件框架構(gòu)思詳細(xì)資料免費(fèi)下載 11次下載
- AN1292與電機(jī)控制應(yīng)用程序框架對(duì)比 2次下載
- 達(dá)芬奇軟件框架技術(shù)融入共享內(nèi)存技術(shù)進(jìn)行數(shù)據(jù)交換的改進(jìn)中文概述 4次下載
- 從ResearchKit應(yīng)用探討移動(dòng)醫(yī)療的發(fā)展 0次下載
- SemiDrive X9 AI 開(kāi)發(fā)環(huán)境搭建 175次閱讀
- Torch TensorRT是一個(gè)優(yōu)化PyTorch模型推理性能的工具 1018次閱讀
- 介紹一款基于昆侖芯AI加速卡的高效模型推理部署框架 1460次閱讀
- 全平臺(tái)系統(tǒng)開(kāi)源免費(fèi)抓包軟件ProxyPin概述 1724次閱讀
- 三種主流模型部署框架YOLOv8推理演示 2365次閱讀
- 騰訊開(kāi)源的前端框架介紹 1813次閱讀
- PyTorch開(kāi)源深度學(xué)習(xí)框架簡(jiǎn)介 4235次閱讀
- 編寫(xiě)機(jī)智云安卓開(kāi)源框架的UI界面 1626次閱讀
- 移植開(kāi)源Gui框架GuiLite到STM32F4OLED屏幕 3334次閱讀
- 谷歌重新定義開(kāi)源軟件漏洞治理框架 2657次閱讀
- Facebook與CMU聯(lián)手打造開(kāi)源框架PyRobot 3746次閱讀
- NASA的開(kāi)源軟件是什么?NASA的開(kāi)源軟件的詳細(xì)分析 7186次閱讀
- TensorFlow的框架結(jié)構(gòu)解析 7032次閱讀
- 將TVM用于移動(dòng)端常見(jiàn)的ARM GPU,提高移動(dòng)設(shè)備對(duì)深度學(xué)習(xí)的支持能力 1w次閱讀
- 紅帽推出Ansible 2.2 :為開(kāi)源自動(dòng)化框架奠定牢靠的基礎(chǔ) 984次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多