ModelArts 搭建 darknet 環境

      網友投稿 632 2022-05-29

      一、開通 NoteBook 實例

      ModelArts 搭建 darknet 環境

      我們可以使用 ModelArts 的開發環境 Notebook ,也可以直接使用 ModelArts 開發工具 CodeLab,兩者本質都是使用 Jupyter 。目前推薦使用 CodeLab ,畢竟可以免費“續杯”,而且是 V100 的硬件。下面分別講解一下 Notebook 和 CodeLab 的使用。

      1.1 Notebook

      在 AI 開發過程中搭建開發環境、選擇AI算法框架、選擇算法、調試代碼、安裝相應軟件或者硬件加速驅動庫都不是容易的事情,使得學習 AI 開發上手慢門檻高。為了解決這些問題,ModelArts算法開發平臺簡化了整個開發過程,以降低開發門檻。 ModelArts集成了基于開源的Jupyter Notebook和JupyterLab,可為您提供在線的交互式開發調試工具。您無需關注安裝配置,在ModelArts管理控制臺直接使用Notebook,編寫和調測模型訓練代碼,然后基于該代碼進行模型的訓練。

      1.1.1 初始化 Notebook

      首先我們在左側導航欄中搜索并進入 ModelArts ,一般來說,我們常用的區域是北京四,因為北京四的版本及功能相對較新,資源也相對較多。這里為了方便演示,我選擇北京四,當我們第一次使用 ModelArts 需要授權,更多說明請參考 ModelArts 準備工作[1] 。每個用戶默認可創建 10 個 Notebook,其中免費算力的 CPU 和 GPU 環境各可創建 1 個 。

      1.1.2 創建 Notebook

      鑒于 darknet 環境需要依賴 GPU,因此我們將創建一個帶有 GPU 環境的 Notebook,默認有一個免費算力的 GPU 環境,以及 5GB 的存儲硬盤。

      1.1.3 打開 Jupyter Lab

      目前比較推薦使用 JupyterLab ,全新的、更高效的 Notebook 使用交互體檢。

      1.1.4 環境檢查

      通過 Terminal 輸入 nvcc -V 和 nvidia-smi 可以查看環境信息。

      1.2 CodeLab

      即開即用、用于機器學習的在線集成開發環境,可以輕松的構建、訓練、調試、部署機器學習算法與模型。當前使用免費規格用于體驗,值得注意的是 72 小時內沒用使用,會釋放資源,因此需要注意文件備份。

      1.2.1 開啟 CodeLab

      CodeLab 在 ModelArts 的總覽頁,屬于開發工具類,目前可以免費使用。

      1.2.2 切換到 GPU 環境

      CodeLab 默認是 CPU 的環境,我們需要手動切換到 GPU 規格。[Free] GPU: 1*V100(32GB)|CPU: 8vCPUs 64GB 這個配置還可以吧!

      1.2.3 環境檢查

      通過 Terminal 輸入 nvcc -V 和 nvidia-smi 可以查看環境信息。(cuda版本需匹配nvidia驅動版本)

      上圖中 cuda 版本與 nvidia 驅動不匹配,可能會導致編譯之后的 darknet 運行報錯。

      二、下載 darknet 源碼

      接著我們需要獲取 darknet 的源碼來進行編譯, darknet 源碼地址是: https://github.com/pjreddie/darknet 。由于眾所周知的源碼,我們可以使用鏡像地址或者先將代碼拉取到 Gitee 再下載到 Notebook。

      2.1 git clone

      本次我們直接從鏡像地址獲取源碼:

      cd work git clone https://github.com.cnpmjs.org/pjreddie/darknet.git

      2.2 檢查文件

      點擊刷新的按鈕可以查看到已經下載好的源碼文件。

      三、編譯 darknet

      在編譯 darknet 之前我們需要修改 Makefile 文件。

      3.1 修改Makefile文件

      3.2 執行 make 進行編譯

      cd work cd darknet make

      3.3 檢查編譯結果

      至此,我們已經生成了可執行文件 darknet ,環境搭建完畢。接著我們試著準備數據集來驗證一下

      3.4 常見問題

      3.4.1 make: Nothing to be done for ‘all’.

      此時執行 make clean 再 make 即可。

      3.4.2 darknet: ./src/cuda.c:36: check_error: Assertion `0’ failed.

      這是由于 cuda 和 NVIDIA 版本不匹配。鑒于 ModelArts 的 Notebook 環境中已經安裝了多個 cuda,我們可以通過腳本切換:

      # 建立軟鏈接命令 sudo ln -snf xxx # 查看環境中有哪些cuda版本 ll /usr/local | grep cuda # 修改cuda版本的命令,其中version替換為對應的cuda版本 sudo ln -snf /usr/local/cuda-{version} /usr/local/cuda 修改之后再執行 make 進行編譯。

      四、數據集處理

      鑒于 darnet 需要特定的數據格式,借助腳本可以將 VOC 數據集處理成可適用的格式。

      數據集見 AIGallery: https://marketplace.huaweicloud.com/markets/aihub/datasets/detail/?content_id=62ff868a-03e8-4627-a9c7-922d71aa1386

      本操作指引為直接下載處理好的數據集來進行配置訓練。

      4.1 下載數據集到 OBS

      AIGallery 提供了豐富的數據集,我們可以下載自己所需要的數據集,對于一些平臺沒有的數據集,我們也可以將自己的數據集上傳到平臺設置為私有已減輕對 OBS 存儲的依賴。

      4.2 通過 MoXing 下載 OBS 數據到 Notebook

      MoXing 為海量數據訓練提供了便利的存儲服務,我們可以通過 MoXing 快速讀取 OBS 中的數據。比如:

      import moxing as mox mox.file.copy_parallel('obs://huqi88/AIGallery/darknet-tools','darknet-tools') print('Done!')

      4.3 簡單配置數據及訓練參數

      cd work mv darknet-tools/VOC2007 darknet mv darknet-tools/cfg/voc2007.data darknet/cfg/voc2007.data mv darknet-tools/data/test.txt darknet/data/test.txt mv darknet-tools/data/train.txt darknet/data/train.txt mv darknet-tools/data/val.txt darknet/data/val.txt mv darknet-tools/data/voc.names darknet/data/voc.names

      五、訓練

      訓練時盡量先關閉其他任務,保證有充足的資源來運行訓練任務

      ./darknet detector train cfg/voc2007.data cfg/yolov3.cfg ../darknet-tools/darknet53.conv.74

      訓練過程每隔100步保存一次訓練結果yolov3_100.weights,900次以后就不再保存,而是存在yolov3.backup中,在訓練結束時生成yolov3_final.weights。

      六、預測

      上傳一張測試圖片 test.jpg 到 darknet 目錄下,執行以下命令進行預測:

      ./darknet detector test cfg/voc2007.data cfg/yolov3.cfg backup/yolov3_final.weights test.jpg

      結果如下圖:

      參考鏈接

      [1] https://gitee.com/ModelArts/ModelArts-Lab/tree/master/docs/ModelArts準備工作

      AI AI開發平臺ModelArts 機器學習

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:linux之cat命令詳解
      下一篇:【愚公系列】2022年03月 .NET架構班 029-分布式中間件 Nginx多場景使用問題分析
      相關文章
      亚洲AV人无码激艳猛片| 亚洲一区二区三区偷拍女厕| 亚洲人成人77777网站| 久久精品国产亚洲AV| 亚洲一线产区二线产区区| 亚洲乱码一二三四区国产| 亚洲精品视频专区| 亚洲视频免费观看| 亚洲美女色在线欧洲美女| 18亚洲男同志videos网站| 亚洲综合激情六月婷婷在线观看 | 亚洲国产综合第一精品小说| 夜夜亚洲天天久久| 亚洲黄色网址大全| 亚洲激情校园春色| 亚洲人成网站在线观看播放动漫 | 久久久久久亚洲精品| 久久精品国产亚洲AV网站 | 国产AV无码专区亚洲Av| 亚洲国产精品无码一线岛国| 亚洲Av综合色区无码专区桃色| 亚洲色WWW成人永久网址| 亚洲欧洲成人精品香蕉网| 亚洲国产精品乱码一区二区| 亚洲国产人成在线观看69网站 | 国产精品亚洲成在人线| 久久精品国产69国产精品亚洲| 国产成人亚洲综合色影视| 久久亚洲中文字幕精品有坂深雪 | 亚洲国产成人久久精品大牛影视| 亚洲AV无码精品国产成人| 国产午夜亚洲精品不卡| 亚洲人成电影在线播放| 亚洲人成影院在线无码按摩店| 久久久久久a亚洲欧洲aⅴ| 亚洲人成在线电影| 亚洲制服丝袜一区二区三区| 亚洲永久网址在线观看| 亚洲а∨天堂久久精品| 国产AV无码专区亚洲AV漫画| 久久夜色精品国产亚洲|