PolarMask环境配置并训练自己的数据集

运行环境:ubuntu18.04, CUDA10,conda

硬件:2080Ti

参考:

PolarMask pytorch代码实现记录(碎碎念事无巨细版)_Amberrr的博客-CSDN博客_polarmask训练自己的数据集

PolarMask是基于mmdetection的。

1.下载文件

新建PolarMask文件夹,在其中下载PolarMask源码文件夹,并下载cocoapi文件夹,并列放置

GitHub - xieenze/PolarMask: Code for 'PolarMask: Single Shot Instance Segmentation with Polar Representation'Code for 'PolarMask: Single Shot Instance Segmentation with Polar Representation' - GitHub - xieenze/PolarMask: Code for 'PolarMask: Single Shot Instance Segmentation with Polar Representation'https://github.com/xieenze/PolarMask

GitHub - cocodataset/cocoapi: COCO API - Dataset @ http://cocodataset.org/COCO API - Dataset @ http://cocodataset.org/ . Contribute to cocodataset/cocoapi development by creating an account on GitHub.https://github.com/cocodataset/cocoapi

2.安装依赖

进入PolarMask文件夹,修改PolarMask/mmdet/datasets/loader/sampler.py文件中:

from mmcv.runner.utils import get_dist_info

为:

from mmcv.runner import get_dist_info

然后开始进行配置,参考安装的指令install.md:

执行如下命令:

conda create -n your_venv_name python=3.7 -y #自己设置虚拟环境名字,和python版本,为了匹配matlib,建议选择3.7 conda activate your_venv_name #激活你建立的虚拟环境 conda install pytorch=1.3.1 cudatoolkit=10.0 torchvision=0.4.2 -c pytorch #安装此版本的pytorch和cuda开发组件

如果下载没问题(使用教育网)跳过此步,但是如果执行conda install pytorch=1.3.1 cudatoolkit=10.0 torchvision=0.4.2 -c pytorch,下载缓慢,则可以尝试使用pip命令安装pip install torch===1.3.1 torchvision===0.4.2 -f https://download.pytorch.org/whl/torch_stable.html

安装成功后,进入cocoapi文件夹中安装coco依赖,再进入PolarMask文件夹中安装PolarMask依赖,代码如下:

cd /cocoapi/PythonAPI #进入cocoapi文件夹 python setup.py build_ext install #安装cocoapi依赖 cd /PolarMask python setup.py develop #安装PolarMask依赖

过程中如果有报错no module named 'xxxxx' ,可使用conda install xxxx或者pip install xxxxx,命令安装即可。

安装好之后,开始训练dataset

3.制作自己的数据集并训练

其中coco数据集我使用的是2017格式:

data文件夹放在PolarMask代码包里面,布局如下:

data

|       |---coco

|       |            |---annotations

|       |            |---train2017

|       |            |---val2017

设置好数据集格式和位置后,在configs/polarmask/4gpu/polar_768_1x_r50.py中修改为自己的数据集路径(data_root=data/coco/),修改类别数量num_classes=自己数据集中的类别数量,学习率设置为0.025(单块GPU要设置小),可自定义修改工作路径“work_dir=xxxxx”,保存训练过程中的权重文件和训练信息;device_ids = range(4)变为devices_ids = range(1)。

接下来开始训练,训练命令:

python tools/train.py configs/polarmask/4gpu/polar_768_1x_r50.py

执行该命令后可能出现cuda版本的相关信息,此种情况可能是自己的cuda版本与显卡不支持,或者是mmcv/mmdetection的版本不支持,如果这样,请在安装PolarMask依赖之前首先下载mmdetection和mmcv相应版本的代码包,按照:

Prerequisites — MMDetection 2.19.1 documentationhttps://mmdetection.readthedocs.io/en/latest/get_started.html#installation

安装正确的mmdetection和mmcv版本,之后再安装Polarmask依赖,即可解决该问题,

实际测试中 cuda10,pytorch1.3.1,python3.7, 2080Ti,ubuntu18.04,mmdetection1.0.0, mmcv0.5.3支持运行。

训练完成后相应权重保存在自己设置的工作路径中。

4.test和inference

测试命令,将训练结果输出保存为pkl文件:

#test的格式 

python tools/test.py configs/polarmask/4gpu/polar_768_1x_r50.py [YOUR_CHECKPOINT_DIR] --out [OUT_DIR] # eg:python tools/test.py configs/polarmask/4gpu/polar_768_1x_r101.py /home/wh/weights/polarmask_r101_1x.pth --out work_dirs/polar101.pkl 

#自己的 

python tools/test.py configs/polarmask/4gpu/polar_768_1x_r50.py work_dirs/trash/epoch_12.pth --out /mnt/lxr/Polarmask/PolarMaskmaster/work_dirs/out/results.pkl

Inference过程

/demo/visual.ipynb改成python脚本visual.py即可

在demo/visual.py里修改cofig路径、模型存储路径和测试图片路径


修改/mmdet/api/infrence.py文件中的函数show_result_pyplot(),在最后加上plt.savefig(“result.jpg”),可以添加参数设置指定目录,可以重新写一个脚本进行批处理。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容