溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Detectron2如何部署環(huán)境和安裝

發(fā)布時間:2021-11-25 11:17:04 來源:億速云 閱讀:551 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Detectron2如何部署環(huán)境和安裝的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。


part1 : 雜七雜八和碎碎念

因?yàn)镈etectron2 本質(zhì)是可以被“安裝”的,即在其他的文件目錄下也可以使用detectron2 中相關(guān)的內(nèi)容,所以我采用了如下的學(xué)習(xí)思路,首先建立了一個detectron2_notebook的文件夾,并和detectron2放在一個目錄下:
1. 首先建立detectron2_notebook文件夾 和 detectron2 的項(xiàng)目
Detectron2如何部署環(huán)境和安裝  
notebook中,d2learn 會放一些代碼,notebook中存放markdown  
2. 其次,建立在遠(yuǎn)端服務(wù)器上的docker ,并設(shè)置兩個項(xiàng)目能夠通過pycharm遠(yuǎn)程調(diào)試
Detectron2如何部署環(huán)境和安裝
3. 之后,在遠(yuǎn)程安裝利用 python    setup.py   develop 安裝detectron2 ,
    3.1 這樣子就能確保本地對detectron2 的修改在遠(yuǎn)端是能夠生效的
    3.2 同時也比較好方便自己對detectron2 進(jìn)行魔改
Detectron2如何部署環(huán)境和安裝
4. 訓(xùn)練、測試和使用detectron2 的腳本,都會設(shè)立在notebook 文件夾中,方便以后整體“打包帶走”

接下來我會一步一步的介紹如何完成這些操作


part2 :安裝detectron2

一、docker 環(huán)境配置

工欲善其事必先利其器。所以在開始學(xué)習(xí)之前,當(dāng)然是要認(rèn)真的搭建一個可以使用的開發(fā)環(huán)境啦。首先假設(shè)你有一臺可以使用CUDA10 的服務(wù)器(配CUDA環(huán)境的視頻很多,這里不多贅述),一般來說呢,正常的開發(fā)環(huán)境是這樣設(shè)計(jì)的:

Detectron2如何部署環(huán)境和安裝

如圖,可以分為如下幾個流程:

  • 首先會在服務(wù)器中啟動好docker 容器,并暴露容器中的若干端口

  • 一般至少會暴露:

    • 22端口,方便pycharm ssh 連入docker進(jìn)行遠(yuǎn)程調(diào)試

    • 其他至少一個端口,方便啟動jupyterlab,好查看容器上的文件和進(jìn)行命令行操作

  • 在容器中啟動 jupyter lab ,并通過chrome 訪問 jupyter lab, 方便文件的編輯、修改(我完全不會用vim...)

  • 利用pycharm 連接服務(wù)器,使得能夠利用pycharm進(jìn)行遠(yuǎn)程調(diào)試,便于修改和debug代碼

至于如何配置一個能夠支持detectron2開發(fā)的dockerfile嘛,基本可以參考官方的版本:

https://github.com/facebookresearch/detectron2/blob/master/Dockerfile

在此基礎(chǔ)之上,需要在容器中進(jìn)行如下額外的操作:

配置容器的 ssh 免密登錄
Detectron2如何部署環(huán)境和安裝  
這里我使用 14371 登錄,是因?yàn)槲野讶萜鞯?2 端口映射到了服務(wù)器的14371 端口  
啟動jupyterlab ,使得能夠在自己的電腦上通過網(wǎng)頁訪問
Detectron2如何部署環(huán)境和安裝  
同樣的,我把容器內(nèi)jupyter啟動的端口映射到了服務(wù)器的14374端口  

二、pycharm的配置流程

在確保了docker 的可用之后,下一步就是需要配好pycharm 使得支持遠(yuǎn)程調(diào)試了,由于這一步比較繁瑣,這里仔細(xì)的介紹一下相關(guān)的步驟。

2.1 配置服務(wù)器上傳路徑

Detectron2如何部署環(huán)境和安裝

2.2 配置服務(wù)器信息

Detectron2如何部署環(huán)境和安裝

2.3 配置服務(wù)器上傳目錄

Detectron2如何部署環(huán)境和安裝

2.4 配置遠(yuǎn)程調(diào)試環(huán)境

Detectron2如何部署環(huán)境和安裝

2.5 新建一個環(huán)境

Detectron2如何部署環(huán)境和安裝

2.6 選擇ssh ,設(shè)置為剛才建立的環(huán)境

Detectron2如何部署環(huán)境和安裝

2.7 選擇容器中具有pytorch依賴的python3,并設(shè)置上傳的目錄為2.3上的目錄

Detectron2如何部署環(huán)境和安裝

2.8 配置完成

Detectron2如何部署環(huán)境和安裝

2.9 確認(rèn)配置

Detectron2如何部署環(huán)境和安裝  
確認(rèn)使用了正確的遠(yuǎn)程python編譯器,確認(rèn)項(xiàng)目映射到了正確的遠(yuǎn)程的位置  

2.9 一些注意

注意到我這里是把detectron2 和 我自己的notebook 放在了一個文件夾下,并且上傳到服務(wù)器,這樣做是我覺得比較方便管理,使得我在遠(yuǎn)端安裝的detectron2的代碼就來自于本地的這一份代碼,方便改動

Detectron2如何部署環(huán)境和安裝

2.10 手動上傳一次所有的數(shù)據(jù)

Detectron2如何部署環(huán)境和安裝

在右側(cè)的remote host 中應(yīng)該可以查看到對應(yīng)的文件結(jié)構(gòu)

Detectron2如何部署環(huán)境和安裝

2.10 確認(rèn)能否調(diào)通

新建一個 hello_remote.py

Detectron2如何部署環(huán)境和安裝

執(zhí)行

Detectron2如何部署環(huán)境和安裝

確認(rèn)現(xiàn)在的執(zhí)行信息為使用遠(yuǎn)端的服務(wù)器執(zhí)行遠(yuǎn)端的文件:

Detectron2如何部署環(huán)境和安裝

三、detectron2 的安裝

3.1 安裝依賴

在jupyter lab中,新建一個命令行窗口(這時候就體現(xiàn)出jupyter lab 的方便了)

# 首先要保證有 pytorch2.3 , torchvision,其次安裝如下依賴

pip3 install 'git+https://github.com/facebookresearch/fvcore'
pip install cython; pip install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'

3.2 執(zhí)行 python3 install develop安裝

Detectron2如何部署環(huán)境和安裝  
注意這里一定要使用 develop  

3.3 確保detectron2 能夠被成功的import

Detectron2如何部署環(huán)境和安裝

part3 :run demo ,跑出封面圖!

首先,從detectron2/demo 中拷貝出predictor到同目錄下,從configs/Misc/ 拷貝cascade_mask_rcnn_R_50_FPN_1x.yaml 到同一級別的目錄下:

Detectron2如何部署環(huán)境和安裝

其次,在遠(yuǎn)端服務(wù)器中,把模型

https://dl.fbaipublicfiles.com/detectron2/Misc/cascade_mask_rcnn_R_50_FPN_1x/138602847/model_final_e9d89b.pkldl.fbaipublicfiles.com

下載到新建立的model文件夾中

Detectron2如何部署環(huán)境和安裝

修改拷貝的yaml ,使得指向下載的pkl

Detectron2如何部署環(huán)境和安裝

然后執(zhí)行如下腳本即可:

Detectron2如何部署環(huán)境和安裝

感謝各位的閱讀!關(guān)于“Detectron2如何部署環(huán)境和安裝”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI