2023-12-01 孙小北

MindSpore加载图数据集

MindSpore加载图数据集

MindSpore提供的mindspore.dataset模块可以帮助用户构建数据集对象,分批次地读取文本数据。

图的概念

通常一个图(graph) G是由一系列的节点(vertices) V以及边(eage)E组成的,每条边都连接着图中的两个节点,用公式可表述为:G = F(V, E),简单的图如下所示。

basic_graph.png

图中包含节点V = {a, b, c, d},和边E = {(a, b), (b, c), (c, d), (d, b)},针对图中的连接关系通常需借助数学的方式进行描述,如常用的基于邻接矩阵的方式,用于描述上述图连接关系的矩阵C如下,其中a、 b、c、d对应为第1、2、 3、4个节点。

image-20220428202020762.png

数据集下载和转换

(1) 数据集介绍

常用的图数据集包含**Cora、Citeseer、PubMed**等

原始数据集可以从[ucsc网站](https://linqs-data.soe.ucsc.edu/public/lbc/cora.tgz)进行下载,

github提供的预处理后的数据集,GCN等公开使用

Cora数据集主体部分(`cora.content`)   2708条样本(节点),每条样本描述1篇科学论文的信息,论文都属于7个类别中的一个。每条样本数据包含三部分,依次为论文编号、论文的词向量(一个1433位的二进制)、论文的类别;  引用数据集部分(`cora.cites`)包含5429行(边),每行包含两个论文编号,表示第二篇论文对第一篇论文进行了引用。


image-20220428210948701.png


(2)数据集下载

以下示例代码将cora数据集下载并解压到指定位置。

image-20220428212257872.png


(3)数据集格式转换

数据集格式转换:将数据集转换为MindRecord格式,可借助models仓库提供的转换脚本进行转换,生成的MindRecord文件在`./cora_mindrecord`路径下。

image-20220428212932617.png

加载数据集

MindSpore目前支持加载文本领域常用的经典数据集和多种数据存储格式下的数据集,用户也可以通过构建自定义数据集类实现自定义方式的数据加载。

下面演示使用`MindSpore.dataset`模块中的`MindDataset`类加载上述已转换成mindrecord格式的cora数据集。

image-20220428213334804.png


数据处理

MindSpore目前支持的数据处理算子及其详细使用方法。下面构建pipeline,对节点进行采样等操作。

image-20220428213904511.png



编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=1205

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦