<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ModelArts 搭建 darknet 環(huán)境

          共 3978字,需瀏覽 8分鐘

           ·

          2021-07-07 12:37

          一、開通 NoteBook 實(shí)例

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

          1.1 Notebook

          在 AI 開發(fā)過(guò)程中搭建開發(fā)環(huán)境、選擇AI算法框架、選擇算法、調(diào)試代碼、安裝相應(yīng)軟件或者硬件加速驅(qū)動(dòng)庫(kù)都不是容易的事情,使得學(xué)習(xí) AI 開發(fā)上手慢門檻高。為了解決這些問(wèn)題,ModelArts算法開發(fā)平臺(tái)簡(jiǎn)化了整個(gè)開發(fā)過(guò)程,以降低開發(fā)門檻。ModelArts集成了基于開源的Jupyter Notebook和JupyterLab,可為您提供在線的交互式開發(fā)調(diào)試工具。您無(wú)需關(guān)注安裝配置,在ModelArts管理控制臺(tái)直接使用Notebook,編寫和調(diào)測(cè)模型訓(xùn)練代碼,然后基于該代碼進(jìn)行模型的訓(xùn)練。

          1.1.1 初始化 Notebook

          首先我們?cè)谧髠?cè)導(dǎo)航欄中搜索并進(jìn)入 ModelArts ,一般來(lái)說(shuō),我們常用的區(qū)域是北京四,因?yàn)楸本┧牡陌姹炯肮δ芟鄬?duì)較新,資源也相對(duì)較多。這里為了方便演示,我選擇北京四,當(dāng)我們第一次使用 ModelArts 需要授權(quán),更多說(shuō)明請(qǐng)參考 ModelArts 準(zhǔn)備工作[1] 。每個(gè)用戶默認(rèn)可創(chuàng)建 10 個(gè) Notebook,其中免費(fèi)算力的 CPU 和 GPU 環(huán)境各可創(chuàng)建 1 個(gè) 。

          1.1.2 創(chuàng)建 Notebook

          鑒于 darknet 環(huán)境需要依賴 GPU,因此我們將創(chuàng)建一個(gè)帶有 GPU 環(huán)境的 Notebook,默認(rèn)有一個(gè)免費(fèi)算力的 GPU 環(huán)境,以及 5GB 的存儲(chǔ)硬盤。

          1.1.3 打開 Jupyter Lab

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

          1.1.4 環(huán)境檢查

          通過(guò) Terminal 輸入 nvcc -Vnvidia-smi 可以查看環(huán)境信息。

          1.2 CodeLab

          即開即用、用于機(jī)器學(xué)習(xí)的在線集成開發(fā)環(huán)境,可以輕松的構(gòu)建、訓(xùn)練、調(diào)試、部署機(jī)器學(xué)習(xí)算法與模型。當(dāng)前使用免費(fèi)規(guī)格用于體驗(yàn),值得注意的是 72 小時(shí)內(nèi)沒用使用,會(huì)釋放資源,因此需要注意文件備份。

          1.2.1 開啟 CodeLab

          CodeLab 在 ModelArts 的總覽頁(yè),屬于開發(fā)工具類,目前可以免費(fèi)使用。

          1.2.2 切換到 GPU 環(huán)境

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

          1.2.3 環(huán)境檢查

          通過(guò) Terminal 輸入 nvcc -V  和 nvidia-smi  可以查看環(huán)境信息。(cuda版本需匹配nvidia驅(qū)動(dòng)版本)

          上圖中 cuda 版本與 nvidia 驅(qū)動(dòng)不匹配,可能會(huì)導(dǎo)致編譯之后的 darknet 運(yùn)行報(bào)錯(cuò)。

          二、下載 darknet 源碼

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

          2.1 git clone

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

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

          2.2 檢查文件

          點(diǎn)擊刷新的按鈕可以查看到已經(jīng)下載好的源碼文件。

          三、編譯 darknet

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

          3.1 修改Makefile文件

          修改前修改后
          GPU=0GPU=1
          CUDNN=0CUNDD=1
          OPENCV=0OPENCV=1
          image.png

          3.2 執(zhí)行 make 進(jìn)行編譯

          cd work
          cd darknet
          make
          image.png

          3.3 檢查編譯結(jié)果

          至此,我們已經(jīng)生成了可執(zhí)行文件 darknet ,環(huán)境搭建完畢。接著我們?cè)囍鴾?zhǔn)備數(shù)據(jù)集來(lái)驗(yàn)證一下

          3.4 常見問(wèn)題

          3.4.1 make: Nothing to be done for 'all'.

          此時(shí)執(zhí)行 make cleanmake 即可。

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

          這是由于 cuda 和 NVIDIA 版本不匹配。鑒于 ModelArts 的 Notebook 環(huán)境中已經(jīng)安裝了多個(gè) cuda,我們可以通過(guò)腳本切換:

          # 建立軟鏈接命令
          sudo ln -snf xxx

          # 查看環(huán)境中有哪些cuda版本
          ll /usr/local | grep cuda

          # 修改cuda版本的命令,其中version替換為對(duì)應(yīng)的cuda版本
          sudo ln -snf /usr/local/cuda-{version}   /usr/local/cuda
          修改之后再執(zhí)行 make 進(jìn)行編譯。
          image.png

          四、數(shù)據(jù)集處理

          鑒于 darnet 需要特定的數(shù)據(jù)格式,借助腳本可以將 VOC 數(shù)據(jù)集處理成可適用的格式。數(shù)據(jù)集見 AIGallery: https://marketplace.huaweicloud.com/markets/aihub/datasets/detail/?content_id=62ff868a-03e8-4627-a9c7-922d71aa1386

          本操作指引為直接下載處理好的數(shù)據(jù)集來(lái)進(jìn)行配置訓(xùn)練。

          4.1 下載數(shù)據(jù)集到 OBS

          AIGallery 提供了豐富的數(shù)據(jù)集,我們可以下載自己所需要的數(shù)據(jù)集,對(duì)于一些平臺(tái)沒有的數(shù)據(jù)集,我們也可以將自己的數(shù)據(jù)集上傳到平臺(tái)設(shè)置為私有已減輕對(duì) OBS 存儲(chǔ)的依賴。

          image.png

          4.2 通過(guò) MoXing 下載 OBS 數(shù)據(jù)到 Notebook

          MoXing 為海量數(shù)據(jù)訓(xùn)練提供了便利的存儲(chǔ)服務(wù),我們可以通過(guò) MoXing 快速讀取 OBS 中的數(shù)據(jù)。比如:

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

          4.3 簡(jiǎn)單配置數(shù)據(jù)及訓(xùn)練參數(shù)

          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
          image.png

          五、訓(xùn)練

          訓(xùn)練時(shí)盡量先關(guān)閉其他任務(wù),保證有充足的資源來(lái)運(yùn)行訓(xùn)練任務(wù)

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

          訓(xùn)練過(guò)程每隔100步保存一次訓(xùn)練結(jié)果yolov3_100.weights,900次以后就不再保存,而是存在yolov3.backup中,在訓(xùn)練結(jié)束時(shí)生成yolov3_final.weights。

          六、預(yù)測(cè)

          上傳一張測(cè)試圖片 test.jpg 到 darknet 目錄下,執(zhí)行以下命令進(jìn)行預(yù)測(cè):

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

          結(jié)果如下圖:

          參考鏈接

          [1]  https://gitee.com/ModelArts/ModelArts-Lab/tree/master/docs/ModelArts%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C


          點(diǎn)擊“閱讀原文”了解更多


          “夢(mèng)回童年,盡享美食“-- AI 識(shí)別童年美食

          2021-06-01

          快速獲取數(shù)據(jù)集的秘訣居然是……

          2021-06-01

          前端可視化框架是怎樣煉成的?

          2021-03-28


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

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  97青娱乐在线观看视频网站 | 黄色级级级级级级级级级级级级 | 国产成人久久久久 | 高清无码做爱 | 黄色免费看视频 |