來源:量子位
魚羊 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
做目標檢測、語義分割,你一定聽說過Detectron2。
作為一個基于PyTorch實現的模塊化目標檢測庫,Detectron2當年剛一開源,就被推上了GitHub趨勢榜第一。
而現在,移動端開發人員們的福利來了。
Facebook官方正式推出Detectron2的移動版:Detectron2Go(D2Go)。
什么是D2Go
先來看官方介紹:
PyTorch和Detectron2支持的深度學習工具包
最先進的高效移動設備骨干網絡
支持端到端模型訓練、量化和部署
能輕松導出TorchScript格式
通過D2Go,開發者可以創建已經針對移動設備進行過優化的FBNet模型,在移動端高效地執行目標檢測、語義分割以及關鍵點估計等任務。
那么D2Go具體有哪些優勢呢?
實際上,移動端的目標檢測任務主要關注的有兩點:延遲和準確性。
而如果模型能夠在邊緣設備上獨立運行,不用將數據傳至云端進行處理,就能大大的減少延遲。
另外,這也進一步保障了終端用戶的數據、隱私安全。
Facebook表示,在實驗測試中,使用D2Go開發的移動端模型,與基于服務器的模型相比,延遲更低,且準確性損失不大。
如何使用
首先是安裝的部分,需要安裝的有:
PyTorch Nightly
conda?install?pytorch?torchvision?cudatoolkit=10.2?-c?pytorch-nightly
Detectron2
python?-m?pip?install?'git+https://github.com/facebookresearch/detectron2.git'
mobile_cv
python?-m?pip?install?'git+https://github.com/facebookresearch/mobile-vision.git'
D2go
git?clone?https://github.com/facebookresearch/d2go
cd?d2go?&?python?-m?pip?install?.
在D2go的GitHub倉庫中,還提供了預訓練模型的推理Demo。
從model_zoo中選擇一個模型,運行demo.py,就可以進行試玩。
以faster_rcnn_fbnetv3a模型為例:
cd?demo/
python?demo.py?—config-file?faster_rcnn_fabnetv3a_C4.yaml?—input?input1.jpg?—output?output1.jpg
在訓練和評估方面,D2Go本身基于detectron2工具包實現,因此在訓練之前,需要按照detectron2的說明設置內置數據集。
而具體如何用預訓練模型進行推理、訓練一個D2go模型、將模型導出到int8,Facebook也提供了詳細的入門示例。
傳送門
開源地址:
https://github.com/facebookresearch/d2go
Facebook博客:
https://ai.facebook.com/blog/d2go-brings-detectron2-to-mobile/
(聲明:本文僅代表作者觀點,不代表新浪網立場。)