Pytorch实战7-mmsegmentation训练

目录

1. mmsegmentation安装

        (1)CPU版本安装

        (2)GPU版本安装

        (3)验证安装

 2. 自定义数据集在mmsegmentation训练

        (1)数据集打标签

        (2)数据集格式转换 

3. 编译模型 

        (1)配置文件

        (2)修改编译得到的配置文件                        

        (3)编译配置

4. 预测demo演示

     (1)验证测试图片


1. mmsegmentation安装

        (1)CPU版本安装

                请参考mmclasssification的安装,除了测试验证外,安装的步骤都一样,如果你之前已经安装过mmclasssification,则只需要在cmd中进入mmsegmentation/执行下面的命令

pip install -v -e .

Pytorch实战6—win10使用CPU在mmclassification训练_Evan_qin_yi_quan的博客-CSDN博客

        (2)GPU版本安装

                前提条件是安装好CUDA和pytorch,如果没安装,请参考 一看就懂的 CUDA安装教程及Pytorch GPU版本安装教程_Evan_qin_yi_quan的博客-CSDN博客

安装CUDA和pytorch后,只需要在cmd中进入mmsegmentation/执行下面的命令

使用Anaconda 创建一个环境 ,Anaconda需要先安装

conda create --name openmmlab python=3.8 -y
conda activate openmmlab 

 使用 MIM 安装 MMCV

pip install -U openmim
mim install mmcv-full 

到官网下载mmsegmentation代码

 https://github.com/open-mmlab/mmsegmentation

 下载到本地后,在cmd中进入mmsegmentation目录,执行下面的命令

cd mmsegmentation
pip install -v -e .

        (3)验证安装

为了验证 MMSegmentation 是否安装正确,我们提供了一些示例代码来执行模型推理。

第一步 我们需要下载配置文件和模型权重文件。

mim download mmsegmentation --config pspnet_r50-d8_512x1024_40k_cityscapes --dest .

 完成后,你会在当前文件夹中发现两个文件pspnet_r50-d8_512x1024_40k_cityscapes.pypspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth

第二步 验证推理示例

直接运行以下命令进行验证:

python demo/image_demo.py demo/demo.png pspnet_r50-d8_512x1024_40k_cityscapes.py pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth  --out-file result.jpg 

你会在你的当前文件夹中看到一个新的图像result.jpg,其中的分割掩膜覆盖在所有对象上。

并且会弹出下面这张图。 

 2. 自定义数据集在mmsegmentation训练

        (1)数据集打标签

           cmd 安装labelme, pip install  labelme,安装成功后。执行命令 labelme,即可弹出界面

         原始数据为 4张图片,3张用于训练,1张用于测试和验证,数据集如下

链接:https://pan.baidu.com/s/1alX1ROroctQKXZpcZSqpeg 
提取码:aiis 
--来自百度网盘超级会员V1的分享 

            

 打完标签保存得到json文件,保存文件时使用使用默认的名字,打标签结束后得到4个json文件

        (2)数据集格式转换 

          需要把数据集格式转换为voc格式,在github上搜索labelme,下载代码,使用这个代码转换数据格式

     代码下载后解压后,只需要下图中的labelme2voc.py,其它代码用不到,使用pycharm编译这个文件, 需要给这个脚本传递cell    my_cell_voc --labels mycell_labels.txt  这三个参数,分别代表输入数据集路径(也就是保存图片和json的文件夹),转换过后输出路径,label文件是保存类别名字的,格式如下图。

输出路径自动创建文件夹,不需要指定已经存在的文件夹作为输出路径

label文件编写格式如下 

 

 

  配置编译如下图,

 编译结束过后 得到如下,my_cell_voc文件夹是自动创建的,我们只需要第1、3两个子文件夹,至此数据集制作完毕。

3. 编译模型 

        (1)配置文件

        使用下面这个模型为例,

mmsegmentation- master\configs\deeplabv3plus\deeplabv3plus_r50d8_480x480_40k_pascal_context.py 

         不管其他先编译一次,编译脚本是D:\deep_learn\mmsegmentation-master\tools\train.py,向这个脚本传递参数mmsegmentation- master\configs\deeplabv3plus\deeplabv3plus_r50d8_480x480_40k_pascal_context.py 

 此时编译虽然不通过,但是查看下面路径可以看到已经生产一个.py配置文件,将这个文件改名为my_deeplabv3plus_r50-d8_480x480_40k_pascal_context.py  复制到  mmsegmentation-master\configs\deeplabv3plus\ 路径下

        (2)修改编译得到的配置文件                        

修改1234这几点
    1.改类别数量,2.改路径,3. mmseg/datasets/voc.py,4.mmseg/core/evaluation/class_nemes.py 改完这几个就可以了,下面分别修改这几点

        1.改类别数量

          将my_deeplabv3plus_r50-d8_480x480_40k_pascal_context.py中所有的

num_classes=2复制为2

文件最后的学习机制修改

        2.改路径

         将之前制作好的数据集的路径写到代码中

 

        3. 修改 mmseg/datasets/voc.py  

       原来的注释掉,另写

        4.mmseg/core/evaluation/class_nemes.py

改完这几个就可以了

        (3)编译配置

         

 编译成功

4. 预测demo演示

       用到的编译脚本 

   

     (1)验证测试图片

         从之前制作的数据集中,拿验证集的1张图片做测试

 将图片复制到如下路径

编译配置 

编译如果有如下问题,到base.py中注释掉相关的代码 

   注释代码如下 

 

 再运行编译,得到如下的结果

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值