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占用。

 

 

 

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