深度学习模型的数据读取(python+torch.utils.data.Dataset)

本文介绍了在使用Python和PyTorch训练深度学习模型如UNet时,如何处理和预处理数据集。特别是通过torch.utils.data.Dataset进行数据读取的封装,包括`__init__()`用于参数初始化,`__getitem__()`实现数据预处理,以及`__len__()`确定数据集长度。以BraTS2018数据集为例,详细展示了数据预处理的步骤。
摘要由CSDN通过智能技术生成

在用python编写CNN、UNet、VGG等模型时,需要先对数据集进行处理,即先读取image和label并进行预处理(比如设置图像大小等)。

在这之前已经将BraTS2018的nii格式文件保存为png格式:

https://blog.csdn.net/weixin_43330946/article/details/89576759

下面的代码是我最近写UNet用于分割BraTS2018数据集的代码。但是一般情况下,数据预处理的封装都差不多。


torch.utils.data.Dataset主要包括三个部分:

https://blog.csdn.net/weixin_43330946/article/details/89598204

1、__init__()

主要用于参数初始化,个人理解就是参数定义。根据自己网络所需要的参数进行定义。

2、__getitem__()

获取数据集的序列。数据的预处理就在这个部分编写。

3、__len()__

返回数据集的长度。一般都是固定的,没什么影响。

import numpy as np
import torch
import torch.utils.data
import os
import torchvision
from PIL import Image
from torchvision import Variable

class med(torch.utils.data.Dataset):
  
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值