PyG内存数据集构建教程:InMemoryDataset详解与应用
需积分: 0 79 浏览量
更新于2024-08-05
收藏 355KB PDF 举报
本章节主要介绍了如何在PyG中处理占用内存有限的数据集,特别是通过构造数据完全存于内存的数据集类,即InMemory数据集类。以下内容详细阐述了这一过程:
1. **数据使用的一般过程**:
- 数据集通常从网络上下载原始文件;
- 对这些原始文件进行预处理,每个图样本生成一个Data对象;
- 数据对象进一步处理,转换成新的形式;
- 进行数据筛选或过滤;
- 数据存储到文件,通常分为未处理的raw_dir和处理后的processed_dir;
- 在获取数据时,可能会有预处理步骤,如数据变换。
2. **InMemoryDataset基类**:
- InMemoryDataset是自定义数据集类的基础,用户通过继承该类来创建可存储于内存中的数据集;
- 初始化方法参数包括`root`(数据集的根目录,包含raw_dir和processed_dir),以及两个转换函数:`transform`(用于数据增广,每次获取数据前执行)和`pre_transform`(数据预处理,用于在获取数据前执行,默认无操作)。
3. **简化版InMemory数据集类**:
- 用户可以根据需要定制自己的InMemory数据集类,只需实现必要的方法,如`__len__`(计算数据集长度)、`__getitem__`(按索引获取数据)以及可能的`__iter__`(遍历数据集)等。
4. **实例与过程**:
- 创建InMemory数据集实例时,需要加载数据到内存,这个过程可能涉及读取存储在processed_dir下的处理过的Data对象;
- 在使用过程中,每次获取数据时,数据会经过`pre_transform`和`transform`的处理,然后返回给用户。
本章节重点在于指导用户如何利用PyG提供的InMemoryDataset类,高效地管理内存中的数据集,通过定制化的方法实现数据加载、预处理和增强,确保在内存有限的情况下仍能灵活处理大规模图数据。
2019-08-23 上传
2021-09-11 上传
2022-08-03 上传
2021-09-08 上传
2021-11-12 上传
2022-12-27 上传
2021-02-09 上传
2021-03-06 上传
2022-08-03 上传
胡说先森
- 粉丝: 410
- 资源: 280
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程