深度学习学习日记4.13 灰度图 自定义dataset类 dataloader

1.图像分割数据的标签(灰度图的情况)

该图像是灰度图,且只有两种像素值

该中标签中图像的像素值有五种

2.在处理灰度图像时,通常会使用 numpy.squeeze() 函数去除可能存在的单通道。虽然灰度图像只有一个通道,但有时候图像数组的形状可能是 (height, width, 1),其中的额外的单通道可能会引起一些问题或不便。

3.自定义的Dataset类中,通常包含三个核心函数:

①__init__() 初始化函数,用于设置数据集的基本属性和参数。通常在这个函数中进行数据集的加载、预处理或其他初始化工作。

②__getitem__() 用于获取数据集中单个样本的函数。这个函数按照索引获取数据集中的样本,并根据需要对样本进行预处理、转换等操作,并返回处理后得样本。这个函数允许通过索引访问数据集中得每个元素,使得数据集可以迭代访问

③__len__()返回数据集得长度
目的 为了将数据处理得更好,并将其准备好以供神经网络进行训练。
通过自定义 Dataset 类,可以实现数据的加载、预处理、转换等操作,以确保数据在输入到神经网络之前处于适当的格式和状态。
自定义 Dataset 类完成了数据处理和准备工作,接着使用 PyTorch 或其他深度学习框架提供的 DataLoader 将数据传递给神经网络模型进行训练。DataLoader 负责对数据进行批处理、随机化和并行化处理,以提高训练效率,并确保模型能够高效地从数据中学习。

4.dataloader

dataset:只有dataset没有默认值,只需要将之前自定义的dataset实例化,再放到dataloader中即可

batch_size:每次抓牌抓几张

shuffle:打乱与否,值为True的话两次打牌时牌的顺序是不一样。默认为False,但一般用True

num_workers:加载数据时采用单个进程还是多个进程,多进程的话速度相对较快,默认为0(主进程加载)。Windows系统下该值>0会有问题(报错提示:BrokenPipeError)

drop_last:100张牌每次取3张,最后会余下1张,这时剩下的这张牌是舍去还是不舍去。值为True代表舍去这张牌、不取出,False代表要取出该张牌
原文链接:https://blog.csdn.net/m0_57787115/article/details/129721708

相关推荐
熊猫_豆豆几秒前
YOLOP车道检测
人工智能·python·算法
rannn_1111 分钟前
【苍穹外卖|Day4】套餐页面开发(新增套餐、分页查询、删除套餐、修改套餐、起售停售)
java·spring boot·后端·学习
nimadan121 分钟前
**热门短剧小说扫榜工具2025推荐,精准捕捉爆款趋势与流量
人工智能·python
qq_12498707535 分钟前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
杜子不疼.5 分钟前
CANN算子基础框架库opbase的算子开发与扩展机制深度解析
人工智能
程序猿追6 分钟前
CANN ops-math仓库解读 数学算子的底层支撑与高性能实现
人工智能·架构
结局无敌7 分钟前
统一算子语言:cann/ops-nn 如何为异构AI世界建立通用“方言”
人工智能·cann
杜子不疼.14 分钟前
CANN计算机视觉算子库ops-cv的图像处理与特征提取优化实践
图像处理·人工智能·计算机视觉
大闲在人14 分钟前
软件仍将存在,但软件公司会以全新形式出现——从Claude智能体引发万亿市值震荡看行业重构
人工智能
艾莉丝努力练剑15 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法