萌新的卷积神经网络学习笔记--训练Unet模型进行图像语义分割


创建Dataset和dataloader
基本框架
Unet 编码(下采样)部分对图片进行四次2*2的池化,每次池化图片尺寸除以2后默认向下取整,为保证解码部分上采样恢复图片尺寸(四次尺寸*2)后与对应编码部分每层的图片尺寸一致,需要重设图片尺寸为16的倍数,使得在网络中每次池化图片尺寸都能被2整除,另外(显卡太垃圾,显存太小) 图片尺寸太大容易

跑不动,所以固定为较小的尺寸进行训练。
Dataset:获得样本数量,索引并返回处理后的样本
样本:输入和对应标准的输出组成一个样本,(X0,Y0 ),(X1,Y1)...(Xn,Yn)
Dataloader: 加载Dataset,可迭代,一次同时读取多个样本并行输入,之后读取的样本会增加一个batch_size维度([batch_size, channel, width, height])
数据集来自 :
https://www.kaggle.com/competitions/carvana-image-masking-challenge/data

训练
需要的模块
训练集所有数据训练一次为一个epoch,1000个训练样本,训练10个epoch,Batch_size为8
结果


效果




参考:
https://blog.csdn.net/qq_39172845/article/details/124364050