日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

CornerNet的配置、训练与测试

發(fā)布時(shí)間:2023/11/27 生活经验 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CornerNet的配置、训练与测试 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

CornerNet的配置、訓(xùn)練與測(cè)試

文章目錄

  • CornerNet的配置、訓(xùn)練與測(cè)試
    • 一、前言
    • 二、配置、訓(xùn)練、測(cè)試
    • 三、遇到的問(wèn)題

一、前言

論文地址:https://arxiv.org/abs/1808.01244

開(kāi)源代碼:https://github.com/umich-vl/CornerNet

CornerNet論文閱讀:https://blog.csdn.net/LLyj_/article/details/88900615

以下純屬個(gè)人按照README和Issues的實(shí)踐記錄,如有不當(dāng)還請(qǐng)大家多多指教。

二、配置、訓(xùn)練、測(cè)試

  1. 首先創(chuàng)建一個(gè) Anaconda的環(huán)境,在根目錄下運(yùn)行以下命令:

    conda create --name CornerNet --file conda_packagelist.txt
    

    在這個(gè)過(guò)程中,也許有些包比較大,會(huì)出現(xiàn)錯(cuò)誤,那就把那個(gè)報(bào)錯(cuò)的單獨(dú)拿出來(lái)安裝,用清華源比較快。

  2. 上述全部安裝完成之后,環(huán)境就建好了,接下來(lái)是激活環(huán)境,輸入以下命令:

    source activate CornerNet
    

    激活成功后你會(huì)發(fā)現(xiàn),在命令行的最前面多出了一個(gè)(CornerNet),這代表在虛擬環(huán)境中,也就是你第一步所創(chuàng)建的環(huán)境,如圖所示:

  3. 接下來(lái)編譯corner pooling layers,因?yàn)樗荂++寫(xiě)的,輸入以下命令:

    # 進(jìn)入相應(yīng)的目錄下 
    cd <CornetNet dir>/models/py_utils/_cpools/
    # 運(yùn)行以下命令
    python setup.py install --user
    

    沒(méi)有報(bào)出error即成功,warning不管他。

  4. 接下來(lái)編譯NMS,輸入以下命令:

    # 進(jìn)入相應(yīng)的目錄下 
    cd <CornetNet dir>/external
    # 編譯
    make
    
  5. 接下來(lái)Installing MS COCO APIs,逐步運(yùn)行以下命令:

    # 先在根目錄下創(chuàng)建data文件夾
    mkdir data
    # 進(jìn)入到data目錄下
    cd <CornetNet dir>/data
    # 下載,README里面的git那句沒(méi)用,所以我去查閱了issue,作者有提供過(guò)一個(gè)新的,所以這里我們跟README不一樣
    git clone https://github.com/cocodataset/cocoapi.git coco
    # 進(jìn)入相應(yīng)目錄
    cd <CornetNet dir>/data/coco/PythonAPI
    # 編譯
    make
    
  6. 接下來(lái)最費(fèi)時(shí)間:下載數(shù)據(jù)集,這里我是沒(méi)下載,因?yàn)槲乙恢痹趯W(xué)習(xí)目標(biāo)檢測(cè),所以coco數(shù)據(jù)集用了好幾次,建議把這些常用的數(shù)據(jù)集(Pascal voc、coco等)放在硬盤(pán)里,以便跑其他算法時(shí)省去下載的時(shí)間,當(dāng)然,也可以下載:

    # 下載annotations,這里給出鏈接,進(jìn)入鏈接直接下載
    https://drive.google.com/file/d/1dop4188xo5lXDkGtOZUzy2SHOD_COXz4/view
    # 下載完annotations后,在<CornetNet dir>/data/coco下手動(dòng)新建目錄:annotations,然后把上步下載的annotations放進(jìn)去
    # 接著下載images,下載3個(gè),分別是2014 Train, 2014 Val, 2017 Test,鏈接如下:
    http://cocodataset.org/#download
    # 接下來(lái)在<CornerNet dir>/data/coco/新建images目錄,把下載的三個(gè)放進(jìn)去,分別改名為trainval2014, minival2014 testdev2017
    
  7. 接下來(lái)開(kāi)始訓(xùn)練,作者在論文中說(shuō)到,訓(xùn)練用的是10個(gè)Titan X (PASCAL) 我沒(méi)錢所以用是的GPU是一個(gè)Tesla K80,所以訓(xùn)練時(shí)稍微改了代碼,具體如下:

    # 首先是指定一個(gè)GPU,所以我直接在train.py中添加了一句,這一句的作用是指定GPU
    torch.backends.cudnn.enabled   = True
    torch.backends.cudnn.benchmark = True
    os.environ["CUDA_VISIBLE_DEVICES"] = "0" # 加上這句
    # 之后修改了CornerNet.json中的兩個(gè)地方,具體如下:
    "batch_size": 3, # 原來(lái)是"batch_size": 49,
    "chunk_sizes": [3], # 原來(lái)是"chunk_sizes": [4,5,5,5,5,5,5,5,5,5],這是相對(duì)應(yīng)的,因?yàn)槭?0個(gè)GPU,所以這里有10個(gè)數(shù),且加起來(lái)等于batch_size=49
    

    訓(xùn)練過(guò)程截圖:

    按照我的這個(gè)訓(xùn)練速度,大概30分鐘能迭代340次,總共50萬(wàn)次。測(cè)試的話,訓(xùn)練結(jié)束后就自動(dòng)測(cè)試,坐等ap就好了。

    tips:這個(gè)50萬(wàn)次是原來(lái)默認(rèn)的,但是一般在訓(xùn)練一個(gè)網(wǎng)絡(luò)之前,我通常都會(huì)把迭代次數(shù)調(diào)小一點(diǎn),比如調(diào)成200,這樣的目的是為了看訓(xùn)練完一遍的結(jié)果,看他訓(xùn)練結(jié)束后會(huì)咋樣,會(huì)不會(huì)報(bào)錯(cuò)啥的,然后有些可能還會(huì)測(cè)試,所以先看它完整的一遍流程,最后確保無(wú)誤之后,把迭代次數(shù)調(diào)大,然后就可以高枕無(wú)憂了。

三、遇到的問(wèn)題

說(shuō)明:大家如果遇到了問(wèn)題,可以GitHub上的Issues查找,我的所有問(wèn)題都是Issues找到解決方案的。因?yàn)橛袝r(shí)候百度查不到。

  1. No module named 'torch.utils.cpp_extension’

    不要慌,這個(gè)錯(cuò)誤就是pytorch的版本問(wèn)題,解決方案就是換版本,換到0.4.0或者0.4.1,詳情請(qǐng)看這里

  2. 運(yùn)行python setup.py install --user后報(bào)錯(cuò),error: command ‘gcc’ failed with exit status 1

    這也是pytorch的版本問(wèn)題,解決方案就是換版本,換到0.4.0或者0.4.1,詳情請(qǐng)看這里

總結(jié)

以上是生活随笔為你收集整理的CornerNet的配置、训练与测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。