Windows下pytorch運行CornerNet教程

Windows下pytorch運行CornerNet教程

環境:windows 10, python 3.7, CUDA 10.0+cudnn 7.6.2, pytorch 1.0

設備:RTX 2060

原代碼:https://github.com/princeton-vl/CornerNet-Lite

作者:淘寶 圖靈工作室

聯繫我們

^ _ ^

===============推理=================

1.安裝minGW,用於windows下的make

下載地址:

https://sourceforge.net/projects/mingw/files/latest/download?source=files

下載完後安裝,全勾選,進入程序頁面如下:

 

點左邊的all packages,安裝mingw32-gcc-g++和mingw32-make,class都爲bin。

安裝方法是勾選,然後左上角installation點apply。

安裝需耐心等待。

進入mingw的安裝目錄,例如我的是C:\MinGW,進入bin文件夾,找到mingw-make.exe,將其名字改爲make.exe。

 

將make加入系統變量:

右鍵我的電腦,屬性,高級系統設置,環境變量,看到如下頁面:

 

選中系統變量中的Path,點編輯,看到如下頁面。

 

點擊新建,加入剛纔的bin文件夾,確定,重啓。

 

2.安裝cudapytorch

這裏假設你已經安裝完成。

 

3.編譯程序依賴項

進入<你的程序文件夾>/core/models/py_utils/_cpools/src   下,會有四個cpp文件,用記事本打開,將第一行#include <torch/torch.h>

改成:

#include <torch/extension.h>

四個文件都要改。

完成之後打開anaconda prompt

  1. cd <你的程序文件夾>/core/models/py_utils/_cpools/
  2. python setup.py install --user

其中<你的程序文件夾>是你程序的文件夾

等待完成。

 

 

打開<你的程序文件夾>/core/external

打開setup.py,註釋掉兩句話如下:

 

保存。

用cmd命令行進入這個文件夾,

make

 

我在這裏出現了問題,缺少cygintl-2.dll。網上搜索之並下載,將dll文件放到C:\Program Files (x86)\OpenSSH\bin下解決問題。

 

4.測試

下載權重,地址爲

https://drive.google.com/file/d/1MQDyPRI0HgDHxHToudHqQ-2m8TVBciaa/view?usp=sharing

下載完成後放到<你的程序文件夾>/cache/nnet/CornerNet_Saccade/下,注意這裏需要你手動新建文件夾。

運行demo.py,如果成功應該出現

 

並且在文件夾下出現demo_out.jpg

 

================訓練================

1.安裝數據集工具

https://github.com/cocodataset/cocoapi

download zip,解壓到 <你的程序文件夾>/data/coco下

進入pythonAPI修改setup.py

 

命令行進入<你的程序文件夾>/data/coco/PythonAPI  文件夾

make install

 

 

2.下載數據集和annotations

http://images.cocodataset.org/annotations/annotations_trainval2014.zip

這個下載完解壓,把train的json文件和val的json文件複製到  <你的程序文件夾>/data/coco/annotations下。

例如我的文件夾是這樣:

 

並改名如上圖

 

下載(這個比較大,有條件可以用迅雷):

http://images.cocodataset.org/zips/train2014.zip

http://images.cocodataset.org/zips/val2014.zip

在 <你的程序文件夾>/data/coco/images/下建三個文件夾trainval2014minival2014 和 testdev2017

下載完解壓到對應文件夾。

示例:

 

 

3.修改訓練配置

打開 <你的程序文件夾>\configs,修改CornerNet_Squeeze.json。

將其中的"batch_size"改爲4,如果報錯提示內存不足就改的更小,我這裏6G顯存batchsize爲4差不多。

將其中的"chunk_size"改爲[4],這個數字需要和batch_size保持相同。

示例:

 

 

4.開始訓練

打開命令行,進入<你的程序文件夾>

python train.py CornerNet_Squeeze --workers 1

 

運行成功的樣子:

 

看一眼GPU佔用。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章