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

相关推荐
ZGIAI12 小时前
ZGI 记忆隔离:多人共用不串号
人工智能·架构
星栈独行12 小时前
决定 Agent 交付下限的「操作系统」:Harness 六层架构拆解
人工智能·架构
AKAMAI13 小时前
实时可观测性:Akamai Cloud Pulse 警报功能正式发布
人工智能·云计算
Capricorn198813 小时前
解决全网抄 Karpathy 导致的 LLM Wiki 污染?基于知芽 Notebook Skill 的 raw/ 笔记法排障指南
大数据·论文阅读·人工智能·笔记·论文笔记
财经三剑客13 小时前
小赢科技发布2026年Q2财报:持续AI场景落地提效,夯实经营发展韧性
人工智能·科技
不开大的凯207713 小时前
开源、资本、落地、入口:AI正在同时打赢四场战争
人工智能·开源
神奇霸王龙14 小时前
Cursor 3 + Claude Opus 4.8 屠榜:5 编程基座 IDE 卡位
ide·人工智能·ai·aigc·agent·ai编程·ai写作
临沂GEO14 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
AI创界者14 小时前
IndexTTS 2.5 零样本语音克隆本地部署指南与实战避坑(附WebUI使用技巧)
人工智能·aigc
大模型码小白14 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring