当前位置: 首页 > news >正文

每天五分钟深度学习框架PyTorch:基于Dataset封装自定义数据集

本文重点

我们前面使用过torchvision中的数据集,我们可以直接使用torchvison来加载,然后使用dataLoader来获取batch个数据,用于模型的训练和测试。现在的问题是如果我们的所要使用的数据pytorch中没有进行封装怎么办?

Dataset

我们还记得torchvision中封装的数据集dataset继承Dataset,所以我们可以继承Dataset封装处理我们自己数据集的类。

我们需要定义一个类,当然这个类要继承抽象类Dataset,此时我们需要完成三个方法,第一个初始化方法__init__,这个方法完成读取数据集,__len__该方法提供数据集大小和__getitem__通过整数索引返回一个样本

大概的模式

高负载的操作放在__getitem__中,如加载图片,图片transform等,dataset中应尽量只包含只读对象,避免修改任何可变对象,这样多线程操作就不会出现问题。

	from torch.utils.data import Datasetclass myDataset(Dataset): def __init__ (self, csv_file, txt_file, root_dir, other_file) : self.csv_data = pd.read_csv(csv_file) with open(txt_file, 'r' ) as f: 

相关文章:

  • 用哈希表封装出unordered_set/_map
  • MySQL基础关键_007_DQL 练习
  • MOS管极间电容参数学习
  • 华中科技大学系统结构慕课部分答案
  • 250504_VsCode使用
  • Mybatis执行流程知多少
  • WEB 前端学 JAVA(二)Java 的发展与技术图谱简介
  • Linux网络编程:套接字
  • Spring AI支持的聊天模型全方位比较与分析
  • 利用n8n、DeepSeek、AI Agent、子工作流生成统计图
  • PyTorch_张量形状操作
  • 常用命令集合
  • 55、【OS】【Nuttx】编码规范解读(三)
  • 比较 TensorFlow 和 PyTorch
  • 30.沿触发控制与电平宽度触发控制的抗干扰能力对比分析
  • 如何在服务器后台运行Python脚本,并配置虚拟环境与GPU支持
  • 科普简洁版:同态加密——密码学的未来瑰宝
  • CPU 的指令集存放在什么地方?
  • 护网奇谈: 红队工程师手记
  • k230摄像头初始化配置函数解析
  • 农村青年寻路纪|劳动者的书信⑤
  • 热点问答丨新加坡人民行动党缘何再赢议会选举
  • 菲律宾首都机场航站楼外发生汽车冲撞事故致2死多伤
  • 福建两名厅级干部履新,张文胜已任省委省直机关工委副书记
  • 2025年五一档电影票房破4亿,《水饺皇后》领跑
  • 一代名伶程砚秋经典影像:一箱旧影,芳华满堂