图像分割FCN项目实战:测试和数据集训练

该博客介绍了如何使用PyTorch实现FCN(全卷积网络)在VOC2012数据集上进行语义分割。提供了代码仓库链接、ResNet预训练模型下载、数据集获取路径以及训练和测试的详细步骤。训练过程可在本地进行,对于资源有限的用户,还给出了利用Google Colab免费GPU资源进行训练的方法。
部署运行你感兴趣的模型镜像

1.代码地址

https://github.com/WZMIAOMIAO/deep-learning-for-image-processing/tree/master/pytorch_segmentation/fcn
作者视频教程:https://b23.tv/VRSuEmi


2.ResNet50和ResNet101文件下载

fcn_resnet50: https://download.pytorch.org/models/fcn_resnet50_coco-1167a1af.pth
fcn_resnet101: https://download.pytorch.org/models/fcn_resnet101_coco-7ecb50ca.pth


3.VOC2012数据集的下载

Pascal VOC2012 train/val数据集下载地址:
http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar


4.文件结构

其中自己添加了一部分文件:便于训练和测试
在这里插入图片描述
GitHub上作者本人给出文件解释:

  ├── src: 模型的backbone以及FCN的搭建
  ├── train_utils: 训练、验证以及多GPU训练相关模块
  ├── my_dataset.py: 自定义dataset用于读取VOC数据集
  ├── train.py: 以fcn_resnet50(这里使用了Dilated/Atrous Convolution)进行训练
  ├── train_multi_GPU.py: 针对使用多GPU的用户使用
  ├── predict.py: 简易的预测脚本,使用训练好的权重进行预测测试
  ├── validation.py: 利用训练好的权重验证/测试数据的mIoU等指标,并生成record_mAP.txt文件
  └── pascal_voc_classes.json: pascal_voc标签文件

5.首先测试一张图片

测试predict.py文件中:
在这里插入图片描述
在这里插入图片描述
修改完成之后就可以右击进行测试了。
在这里插入图片描述


6.训练VOC2012数据集

注:这个数据集有1.89GB,所以对我们CPU电脑配置来说,训练很难,后面再介绍使用Google的Colab进行训练。
首先配置一些参数和数据集的放置:train.py文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右击train.py文件进行训练:
在这里插入图片描述
注:有GPU最好。我这里使用的是CPU,就不继续训练下去了。


7.Google Colab进行训练

(1)准备好Google账号

(2)上传数据集和代码到云盘硬件上

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上传的过程比较慢,加上数据集也比较大,所以请读者耐心等待。

(3)打开Colab官网

https://colab.research.google.com/

(4)新建笔记本.ipynb和命名

在这里插入图片描述
在这里插入图片描述

(5)更换运行时类型(CPU->GPU)

在这里插入图片描述
在这里插入图片描述

(6)连接云盘硬件

在这里插入图片描述

from google.colab import drive
drive.mount('/content/gdrive')

(7)解压数据集

连接上云盘硬件之后,将看到gdrive,将其中我们上传的文件fcn拖拽到根目录下(/content/),和我们平时拖拽的方式一样的,当然我是这样做的,如果你自己熟悉复制命令,也可以将文件复制到根目录下。
在这里插入图片描述
右击刷新一下,如果网比较差的话,等一会儿在根目录才显示出来。

!tar -xvf fcn/data/VOCtrainval.tar

在这里插入图片描述
右击刷新一下,可以看到数据集文件在根目录下,所以将数据集文件拖拽到data文件下:
在这里插入图片描述

解压完数据压缩包之后就是对train.py文件中的一一些地方做修改。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改之后:Crtl+S保存

(8)训练

!python fcn/train.py

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.8

PyTorch 2.8

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值