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

每天五分钟深度学习框架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: 
http://www.xdnf.cn/news/3727.html

相关文章:

  • 深入理解Java垃圾回收机制
  • NV228NV254固态美光颗粒NV255NV263
  • 2025年01月03日美蜥(杭州普瑞兼职)一面
  • 【C++ Qt】输入类控件(上) LineEdit、QTextEdit
  • 升级 CUDA Toolkit 12.9 与 cuDNN 9.9.0 后验证指南:功能与虚拟环境检测
  • 黑马点评day01(基于Redis)
  • C++学习:六个月从基础到就业——C++11/14:右值引用与移动语义
  • Webug4.0靶场通关笔记14- 第18关 文件上传之Nginx解析缺陷
  • Linux线程深度解析:从基础到实践
  • 码蹄集——偶数位、四边形坐标
  • 南京优质的公司有哪些?
  • 小程序 IView WeappUI组件库(简单增删改查)
  • 变更需求代价:影响分析
  • Java面试大纲(以及常见面试问答)
  • 19、权限控制:分院帽系统——React 19 RBAC实现
  • iview自定义下拉树菜单
  • 【C++】 —— 笔试刷题day_25
  • C++多态(下)
  • 【办公类-99-04】20250504闵豆统计表excle转PDF,合并PDF、添加中文字体页眉+边框下划线
  • 观察者模式(Observer Pattern)详解
  • 计算机系统结构 第二章 :缓存优化
  • vector的两种实现
  • Java并发编程-多线程基础(二)
  • 【信息系统项目管理师】【历年真题】论文中需要会画的图/表格
  • JavaScript基础-运算符优先级
  • GCD 深入解析:从使用到底层实现
  • Linux实验课二(重点:动态链接库,makefile使用)
  • 【JS逆向】某点数据登录逆向分析
  • StandardCopyOption 还有哪些其他可用的常量?
  • Acwing.提高课.迷宫问题(c++题解)