pytorch训练(一)——如何使用pytorch创建自己的数据集(含图像的分割处理-一个样本图片分为多个样本图片)

本文介绍了如何基于PyTorch创建自定义数据集,特别是针对图像分割处理的需求。首先,文章讲解了如何将大图片分割成多个小图片,每个32x32像素,确保不重叠。接着,通过PIL库实现图像分割功能。然后,文章展示了如何按照论文要求将数据分组,并构建符合PyTorch Dataset结构的数据集。最后,作者演示了如何将数据集进一步分批,以便于神经网络训练,batch大小设定为64。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码链接:https://github.com/duchp/python-all/tree/master/BreakHis

前言(博主的废话感悟)

经过研一上半学期的各种颓废,迷茫以及瞎学,博主终于在研一下半学期正式走入了研究的轨道中,那么像我们这种方向的研究生,入门研究第一件要做的事情就是复现论文~

论文首先是要读懂,然后get它使用的数据集(这个一般论文里面作者会提到的),下载下来之后呢,第一件事情就是读取它,并且根据自己使用的框架(博主这里用的pytorch)建立它所需要的数据集类型,pytorch的数据类型是Dataset,也就是torch.utils.data.Dataset结构,我们需要将下载好的数据集建立成这样的结构,才能进行后续的过程(比如分batch,搭建网络,预训练balabala的)

一、图片分割

这里博主读了一篇论文,并且get了它的数据集,但是文章中提到要将原本700X460大小的图片每张都分割成294张32X32的小图,并且这些小图的像素点是不重合的。那至于具体怎么分割,论文只字不提= =,所以本机智girl就算了一下,发现700/32为21余28,460/32为14余12,21x14正好294。嗯,那问题来了,多余的像素点我应该如何分配呢~这里博主本着试验的心态,将多余的像素点分配在了边缘,也就是图片上下分别剪掉14像素,左右分别剪掉6像素。
那下面借助PIL里面crop函数进行分割~
由于我们之后训练网络的时候需要数据的标签,所以在对图像分割的时候,应当将标签一同传入分割函数中,上代码:

def img_seg(img,label):
    hight,width = img.size
    w = 32
    id = 0
    j = 6
    new_imgs =
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值