深度学习学习日记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

相关推荐
Pluchon14 分钟前
硅基计划2.0 学习总结 壹 Java初阶
java·开发语言·学习·算法
大模型最新论文速读17 分钟前
在Text-to-SQL任务中应用过程奖励模型
数据库·人工智能·sql·深度学习·语言模型·自然语言处理
测试者家园20 分钟前
安装Python和配置开发环境
开发语言·软件测试·人工智能·python·职场和发展·零基础·质量效能
明明跟你说过31 分钟前
深入理解Embedding Models(嵌入模型):从原理到实战(下)
人工智能·语言模型·embedding
满怀10151 小时前
【人工智能核心技术全景解读】从机器学习到深度学习实战
人工智能·python·深度学习·机器学习·tensorflow
Blossom.1181 小时前
探索边缘计算:赋能物联网的未来
开发语言·人工智能·深度学习·opencv·物联网·机器学习·边缘计算
-曾牛1 小时前
Spring AI 与 Hugging Face 深度集成:打造高效文本生成应用
java·人工智能·后端·spring·搜索引擎·springai·deepseek
Brookty1 小时前
【Java学习】Lambda表达式
java·学习
Clockwiseee1 小时前
SSTI记录
运维·服务器·redis·学习
Huazzi.1 小时前
使用SSH协议克隆详细步骤
linux·运维·学习·ssh·编程