掌桥专利:专业的专利平台
掌桥专利
首页

图结构数据处理方法、系统、计算机设备和存储介质

文献发布时间:2023-06-19 19:30:30


图结构数据处理方法、系统、计算机设备和存储介质

技术领域

本申请涉及神经网络领域,特别是涉及一种图结构数据处理方法、系统、计算机设备和存储介质。

背景技术

自然界中广泛存在的非欧式拓扑数据,即图(Graph)的研究得到了广泛关注,为了有效提取图的特征表达,图神经网络(GNN)等一类优秀的模型被提出,用于处理图结构数据,并适用于广泛的应用场景,如社交网络、推荐系统、智慧医疗以及城市规划。通过在图上对节点进行遍历,并通过节点和邻居节点之间的关系来更新节点的特征。

基于小波基的图神经网络(GWNN)采用小波基向量来替代原始 Spectral CNN 中的傅里叶基,从而基于图信号的小波变换进行模式分析和特征提取,可以有效地学习局部化的、稀疏的特征表达,同时提升网络的表达效果和运算效率。其中,GWNN通常采用多层网络结构,每层结构均采用基于小波变换的图信号分析,GWNN仍具备较大的参数量,矩阵规模较大,需要对待计算矩阵中的每个元素进行编码,编码量较大,编码的效率较低,导致更新节点间的关系产生巨大的计算开销,如何针对该网络结构特点有效提升其计算速度是亟待解决的问题。

发明内容

基于此,本申请提供一种图结构数据处理方法、系统、计算机设备和存储介质,以提高编码效率、传输效率和存储效率,进一步提高计算效率。

一方面,提供一种图结构数据处理方法,所述图结构数据包括节点和边,所述方法包括:

获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵,并获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

在其中一个实施例中,所述将编码后的目标图结构数据输入预设的图神经网络,包括:

对编码后的目标图结构数据进行数据聚合,将聚合后的目标图结构数据输入预设的图神经网络,其中数据聚合包括:

对所述矩阵块区域中的矩阵块和非矩阵块区域中的离散非零值按照负载平衡规则以及索引编码执行计算组合以形成多个待计算矩阵组,并对所述待计算矩阵组执行比较聚合处理转换成一维待计算组;

其中,所述索引编码包括所述矩阵块索引编码和离散值索引编码。

在其中一个实施例中,所述将所述目标图结构数据转换为目标类待计算矩阵前,还包括:

获取各类待计算矩阵的非零值分布,并按照所述各类待计算矩阵的非零值分布以及预设非零阈值生成与所述各类待计算矩阵相应的目标类非零值分布模板。

在其中一个实施例中,所述获取各类待计算矩阵的非零值分布,包括:

对所述各类待计算矩阵中非零值的位置进行检测,以获取所述各类待计算矩阵的非零值分布;

其中,每类待计算矩阵包括多个待计算矩阵。

在其中一个实施例中,所述按照所述各类待计算矩阵的非零值分布以及预设非零阈值生成与所述各类待计算矩阵相应的目标类非零值分布模板,包括:

对所述各类待计算矩阵的非零值分布进行统计分析,以确定所述各类待计算矩阵中的多个共同集聚区域;

获取各类待计算矩阵中共同集聚区域的集聚程度,并根据所述共同集聚区域的集聚程度以及所述预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板。

在其中一个实施例中,所述获取各类待计算矩阵中共同集聚区域的集聚程度,包括:

对各类待计算矩阵中的共同集聚区域进行非零值占比计算,以获取各类待计算矩阵中共同集聚区域的非零值占比,将该非零值占比作为所述各类待计算矩阵中共同集聚区域的集聚程度。

在其中一个实施例中,所述根据所述共同集聚区域的集聚程度以及所述预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板,包括:

将所述各类待计算矩阵中共同集聚区域的集聚程度与所述预设非零阈值进行比较,以从所述共同集聚区域中筛选出其集聚程度超过所述预设非零阈值的目标集聚区域;

将所述各类待计算矩阵的目标集聚区域确定为所述各类待计算矩阵的目标类非零值分布模板。

在其中一个实施例中,所述获取与所述目标类非零值分布模板相应的矩阵块索引编码前,包括:

对各类待计算矩阵的目标类非零值分布模板中的目标集聚区域按照位置块编码规则进行编码以形成与所述目标类非零值分布模板相应的矩阵块索引编码并存储到存储设备中。

在其中一个实施例中,所述矩阵块索引编码包括所述矩阵块的位置和大小,所述位置块编码规则包括对所述矩阵块的位置和大小的编码,所述矩阵块的位置的编码方式为:

获取所述矩阵块上左上角的元素位于所述待计算矩阵中的坐标,将该坐标作为所述矩阵块位于所述待计算矩阵上的位置。

在其中一个实施例中,所述矩阵块的大小的编码方式为:

获取所述矩阵块的行列值,并采用行列值来记录所述矩阵块的大小;

或,采用特定数字编码来记录所述矩阵块的大小。

在其中一个实施例中,所述按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,包括:

按照所述目标类非零值分布模板中的目标集聚区域对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域;

其中,所述矩阵块区域包括多个所述矩阵块和异常值,所述非矩阵块区域包括所述离散非零值。

在其中一个实施例中,所述按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中,包括:

对所述非矩阵块区域按照CSR或者COO编码规则进行编码以形成所述离散值索引编码并存储到存储设备中。

在其中一个实施例中,所述对所述矩阵块区域中的矩阵块和非矩阵块区域中的离散非零值按照负载平衡规则以及索引编码执行计算组合以形成多个待计算矩阵组,包括:

根据所述矩阵块索引编码获取各矩阵块的大小;

按照所述负载平衡规则将不同大小的矩阵块和至少一个离散非零值执行计算组合形成多个待计算矩阵组。

在其中一个实施例中,所述负载平衡规则为:

将最大的矩阵块与最小的矩阵块以及至少一个离散非零值组合形成一个待计算矩阵组;

将次大的数据块与次小的数据块以及至少一个剩余的离散非零值组合形成一个待计算矩阵组,依次组合形成多个待计算矩阵组。

在其中一个实施例中,所述待计算矩阵组为二维矩阵,所述对所述待计算矩阵组执行比较聚合处理转换成一维待计算组,包括:

对需要执行计算的两个所述待计算矩阵组执行比较聚合处理并分别转换为一维待计算组。

在其中一个实施例中,所述对需要执行计算的两个所述待计算矩阵组执行比较聚合处理并分别转换为一维待计算组,包括:

对需要执行计算的两个所述待计算矩阵组中的矩阵块按照零值消除规则执行比较聚合处理;

将执行比较聚合处理后的所述待计算矩阵组分别转换为一维待计算组。

在其中一个实施例中,所述零值消除规则为:

若两个所述待计算矩阵数据区域内相对应位置的数据存在零值,则将该零值消除;

若两个所述待计算矩阵数据区域内相对应位置的数据均为非零值,则保留非零值。

在其中一个实施例中,所述矩阵块索引编码和离散值索引编码均与所述目标类待计算矩阵中的具体元素建立映射关系,对所述待计算矩阵组执行比较聚合处理转换成一维待计算组后,还包括:

根据所述映射关系获取与所述一维待计算组相对应的具体元素,并将与所述一维待计算组相对应的具体元素送入处理单元进行计算。

另一方面,提供了一种图结构数据处理系统,所述系统包括:

神经网络处理模块,用于获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

模板编码模块,用于将所述目标图结构数据转换为目标类待计算矩阵,并获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

矩阵块划分模块,用于按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵,并获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行以下步骤:

获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵,并获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

本申请的上述技术方案相比现有技术具有以下优点:

上述图结构数据处理方法、系统、计算机设备和存储介质,对待计算矩阵通过目标类非零值分布模板划分为矩阵块区域和非矩阵块区域,实现了矩阵块级别的索引编码,压缩了索引编码的数据量,提高了处理效率,也就提高了编码的传输效率和存储效率,进一步提高了计算效率;此外,同类别的待计算矩阵的模板相同,因此同类别的待计算矩阵进行块划分后矩阵块的矩阵块索引编码只需编码一次、传输一次、存储一次,无需每批数据均编码一次、传输一次、存储一次,提高了编码的传输效率和存储效率,从而在将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系时,提高节点之间关联关系的更新效率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本申请实施例提供的图结构数据处理方法的第一方法流程图;

图2是本申请实施例提供的图结构数据处理方法的第二方法流程图;

图3是本申请实施例提供的图结构数据处理方法的目标非零值分布模板示意图;

图4是本申请实施例提供的图结构数据处理方法的索引编码示意图;

图5是本申请实施例提供的图结构数据处理方法的索引编码及对应的具体元素示意图;

图6是本申请实施例提供的图结构数据处理方法的负载平衡规则示意图;

图7是本申请实施例提供的图结构数据处理方法的比较聚合处理示意图;

图8是本申请实施例提供的图结构数据处理系统的系统结构图;

图9是本申请实施例提供的计算机设备的设备结构图;

图10本申请实施例提供的图结构示意图;

图11为本申请实施例提供的社会关系图结构示意图;

图12为本申请实施例提供的图结构神经网络的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一些实施例中

参照图1所示,图1为本申请实施例提供的图结构数据处理方法的第一方法流程图。

方法包括以下步骤:

S101,获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

图神经网络适用于广泛的应用场景,如社交网络、推荐系统、智慧医疗以及城市规划。如图10所示的图结构示意图中,图10中的圆圈表示节点,节点之间的连接表示边,其中,社交网络中节点代表用户,边代表用户之间的社交关系;推荐系统中,节点代表用户或商品,边代表用户与用户之间的关系、商品与用户之间的关系、商品与商品之间的关系。本申请的图结构数据处理方法首先获取目标图结构数据,对目标图结构数据进行索引编码,以获得编码后的目标图结构数据,通过对目标图结构数据的编码表示目标图结构数据是否是非零值。

S102,将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

将编码后的目标图结构数据输入预设的图神经网络,通过图神经网络来获得节点间的关联关系。其中,图结构神经网络的其中一个结构示例如图12所示,包括输入层、隐含层和输出层,输入层作为神经网络的输入,将编码后的目标图结构数据输入神经网络;隐含层用于对节点周围的信息进行聚合,传递信息并更新节点之间的状态;输出层用于输出更新后的节点之间的关联关系,其中,预设的图神经网络根据样本数据库中的样本数据训练生成,且根据实际应用场景及需求设置图神经网络中的损失函数。具体的,以社交网络为例,节点代表用户,边代表用户之间的关系,如图11所示的社交关系图,包括A、B、C、D、E、F、G、H八个用户,每个图结构数据之间的节点(用户)之间的边为用户之间的关系。A节点表示用户A的数据,B节点表示用户B的数据,依次类推;由图11中上图的图结构可知,A、B、C、D四个用户之间存在关联关系,E、F、G、H四个用户之间存在关联关系,A、B、F、E四个用户之间存在关联关系,将A、B、C、D、E、F、G、H八个用户的数据输入图神经网络后,经过相关的计算后,得到如图11下图所示的图结构,经过计算,更新了C、E之间的用户关系,从而获得了C、E之间的关联关系,如图11中C、E之间的虚线边,代表了C、E之间的关联程度。

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵,并从非零值分布模板中获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

具体的,图神经网络中,顶点为特征数据,边为权重数据,这些应用场景天然具有稀疏性,因此表示这些场景的图结构数据大多为稀疏矩阵,这些稀疏矩阵,也就是目标图结构数据转换为形成待计算矩阵。待计算矩阵按照其属性可以进行分类,例如特征数据、权重数据等类别,不同种类待计算矩阵的非零值分布不同,因此对待计算矩阵进行计算时需对待计算矩阵进行预先分类,每类待计算矩阵匹配相应的目标类非零值分布模板。在待计算矩阵参与计算的过程中,首先要获取目标类待计算矩阵,即,确定目标待计算矩阵及其类别,然后从非零值分布模板中获取与该目标类待计算矩阵相对应的目标类非零值分布模板,获取到目标类非零值分布模板后,根据目标类非零值分布模板获取相应的矩阵块索引编码。

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中;

具体的,获取到目标类非零值分布模板后,根据目标类非零值分布模板可以对目标类待计算矩阵进行块划分,以便于将目标类待计算矩阵划分为矩阵块区域以及非矩阵块区域,矩阵块区域包括多个矩阵块,矩阵块编码已经获取,此时需对非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。其中,目标类非零值模板中存储了多个位置框(集聚区域),通过位置框对待计算矩阵进行块划分,每个位置框内的各个元素位置进行了标记,以标识该处元素位置是否是非零值,如图3所示,图3中的每个虚线框表示目标非零值分布模板中的位置框,○表示待计算矩阵中的坐标位置,×表示该坐标位置处为非零值,△表示该坐标位置处为零值。

在其中一个实施方式中,所述将编码后的目标图结构数据输入预设的图神经网络,包括:

对编码后的目标图结构数据进行数据聚合,将聚合后的目标图结构数据输入预设的图神经网络,其中数据聚合包括:

对所述矩阵块区域中的矩阵块和非矩阵块区域中的离散非零值按照负载平衡规则以及索引编码执行计算组合以形成多个待计算矩阵组,并对所述待计算矩阵组执行比较聚合处理转换成一维待计算组;其中,所述索引编码包括所述矩阵块索引编码和离散值索引编码。

具体的,将编码后的目标图结构数据输入预设的图神经网络,要对编码后的目标图结构数据进行数据聚合,首先要在矩阵块参与计算前还需将矩阵块区域中的矩阵块和非矩阵块区域中的离散非零值按照负载平衡规则以及索引编码执行矩阵块组合,以使得后续参与计算时的计算负载较为均衡,矩阵块以及离散非零值按照负载平衡规则执行计算组合后形成待计算矩阵组,待计算矩阵组执行比较聚合处理转换成一维待计算组后,便可以将与一维待计算组相对应的具体元素数据送入处理单元参与计算。其中,按照负载平衡规则执行计算组合、对待计算矩阵组执行比较聚合都是基于索引编码的操作,直到进行计算时,才会将与索引编码相对应的具体元素数据提取出来送入处理单元参与计算。

例如待计算矩阵为两类,特征类数据和权重类数据,第一批待计算矩阵为A1、B1,第二批待计算矩阵为A2、B2,第三批待计算矩阵为A3、B3,其中,A1、A2、A3均为特征类数据,具备特征类数据的非零值分布,B1、B2、B3均为权重类数据,具备权重类数据的非零值分布。第一批数据参与计算时的计算方式为A1×B1,第二批数据参与计算时的计算方式为A2×B2,第三批数据参与计算时的计算方式为A3×B3,A矩阵与B矩阵的元素一一对应,进行乘积运算。由于进行乘积运算时乘积为零的运算为无效运算,因此如果乘积为零,则需剔除掉该元素,以避免无效运算,提高运算效率。因此通过编码来标识待计算矩阵中具体元素是否是非零值,如图3所示。由于数据(待计算矩阵)的数据量较大,且非零值分布不均匀,因此现有技术需要对待计算矩阵中的每一个矩阵元素逐个进行编码,编码量较大,导致编码效率较低,而本申请对待计算矩阵进行了类别划分,如特征类数据、权重类数据等,同一计算场景中,同一类待计算矩阵的非零值分布具备一定的共性,大部分非零值在待计算矩阵中的分布位置以及集聚情况相似或相同,因此同一类待计算矩阵对应一类非零值分布模板,非零值分布模板中存储了该类待计算矩阵共同的非零值分布区域,也就是目标集聚区域,目标类待计算矩阵按照目标类非零值分布模板进行矩阵块划分,由于每一批待计算矩阵中同类别的划分模板相同,因此每一批待计算矩阵所划分的矩阵块在待计算矩阵中的编码相同,矩阵块的矩阵块索引编码只编码一次、传输一次、存储一次,无需每批数据均编码一次、传输一次、存储一次,而现有技术对待计算矩阵中的每一个矩阵元素进行编码,由于每批的数据的非零值分布不同,则对非零值的编码也不同,因此现有技术中的每批数据均需编码一次、传输一次、存储一次,极大地降低了编码的传输效率和存储效率;本申请的数据处理方式对待计算矩阵通过目标类非零值分布模板划分为矩阵块区域和非矩阵块区域,实现了矩阵块级别的索引编码,压缩了索引编码的数据量,提高了处理效率,也就提高了编码的传输效率和存储效率,进而提高了节点之间关联关系的更新效率。其中,索引编码为各矩阵块位于待计算矩阵中的位置以及非矩阵块位于待计算矩阵中的位置,各划分的矩阵块记载了对应的元素是否是非零值,并不是元素具体值。

在其中一个实施方式中,所述获取目标类待计算矩阵前,还包括:

获取各类待计算矩阵的非零值分布,并按照所述各类待计算矩阵的非零值分布以及预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板。

具体的,非零值分布模板的形成首先要获取各类待计算矩阵的非零值分布,也就是各类待计算矩阵中的非零值分布情况,然后按照各类待计算矩阵的非零值分布情况以及预设非零阈值便可以生成相应的非零值分布模板作为目标类非零值分布模板,以便于按照目标非零值分布模板对目标类待计算矩阵执行块划分。

在其中一个实施方式中,所述获取各类待计算矩阵的非零值分布,包括:

对所述各类待计算矩阵中非零值的位置进行检测,以获取所述各类待计算矩阵的非零值分布;

其中,每类待计算矩阵包括多个待计算矩阵。

具体的,各类待计算矩阵的非零值分布是指各类待计算矩阵中非零值的分布情况,在各类待计算矩阵中包括很多数值,分为零值和非零值,后续通过处理单元进行计算时需要剔除这些零值,因此需要获取各类待计算矩阵的非零值分布,对各类待计算矩阵中的数值进行检测,以得到各类待计算矩阵的非零值分布。

在其中一个实施方式中,所述按照所述各类待计算矩阵的非零值分布以及预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板,包括:

对所述各类待计算矩阵的非零值分布进行统计分析,以确定所述各类待计算矩阵中的多个共同集聚区域;

具体的,本申请的数据处理方法应用在同一计算场景下,同一计算场景下的待计算数据具备一定的共性,也就是同一计算场景下待计算矩阵的非零值分布的位置及集聚区域存在相同之处,因此,针对目标计算场景,对目标计算场景下的各类待计算矩阵进行统计分析,以确定各类待计算矩阵中的多个共同集聚区域,共同集聚区域均存在于同类别的待计算矩阵中。

获取各类待计算矩阵中共同集聚区域的集聚程度,并根据所述共同集聚区域的集聚程度以及所述预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板。

具体的,确定各类待计算矩阵中的多个共同集聚区域后,每个共同集聚区域都有各自的集聚程度,也就是非零值的集聚程度,根据共同集聚区域中非零值的集聚程度和预设非零阈值可以生成与各类待计算矩阵相应的非零值分布模板。

在其中一个实施方式中,所述获取各类待计算矩阵中共同集聚区域的集聚程度,包括:

对各类待计算矩阵中的共同集聚区域进行非零值占比计算,以获取各类待计算矩阵中共同集聚区域的非零值占比,将该非零值占比作为所述各类待计算矩阵中共同集聚区域的集聚程度。

具体的,要想获取各共同集聚区域的集聚程度,首先要对各共同集聚区域进行非零值占比计算,以通过占比计算获取各共同集聚区域的非零值占比,以便于将共同集聚区域的非零值占比与预设非零阈值比较后确定目标类非零值分布模板。如图3所示的3×3集聚区域中,有8个位置的数据为非零值,1个位置的数据为零值,则非零值占比为8/9。

在其中一个实施方式中,所述根据所述共同集聚区域的集聚程度以及所述预设非零阈值生成与所述各类待计算矩阵相应的非零值分布模板,包括:

将所述各类待计算矩阵中共同集聚区域的集聚程度与所述预设非零阈值进行比较,以从所述共同集聚区域中筛选出其集聚程度超过所述预设非零阈值的目标集聚区域;

具体的,通过计算得到共同集聚区域的集聚程度后,将共同集聚区域的集聚程度与预设非零阈值进行比较,其中,集聚程度超过预设非零阈值的共同集聚区域作为目标集聚区域,该目标集聚区域则为对目标类待计算矩阵进行块划分的依据。预设非零阈值根据经验值或者实验值来确定以及调整,预设非零阈值如果太高,共同集聚区域就会少,大部分为离散非零值,效率提升不明显,但矩阵块内异常值少,一致性高,后期进行比较聚合时效率高;预设非零阈值如果太低,共同集聚区域就会多,矩阵块内的异常值多,对异常值的编码量会增加,但离散非零值相对减少,后期比较聚合的效率会低一些。因此需要根据实际场景需求来调整预设非零阈值。

将所述各类待计算矩阵的目标集聚区域确定为所述各类待计算矩阵的非零值分布模板。

具体的,确定好目标集聚区域后,将所有的目标集聚区域确定为与各类待计算矩阵相应的非零值分布模板。

在其中一个实施方式中,所述获取与所述目标类非零值分布模板相应的矩阵块索引编码前,包括:

对各类待计算矩阵的非零值分布模板中的目标集聚区域按照位置块编码规则进行编码以形成与所述非零值分布模板相应的矩阵块索引编码并存储到存储设备中。

具体的,非零值分布模板中存储了目标集聚区域,对应待计算矩阵划分后的矩阵块区域,同类别的待计算矩阵的非零值分布模板相同,因此同类别的待计算矩阵划分后的矩阵块区域也是相同的,因此只需对各类待计算矩阵的非零值分布模板中的目标集聚区域按照位置块编码规则进行索引编码一次即可,无需对矩阵块区域中的矩阵块的每个元素进行索引编码,无需对每批待计算矩阵进行索引编码。矩阵块索引编码存储到存储设备中,同类别的待计算矩阵,无论多少批计算只需编码一次、传输一次、存储一次。由于通过目标集聚区域将目标类待计算矩阵进行划分形成矩阵块区域,因此目标集聚区域的位置就是矩阵块区域的位置。

在其中一个实施方式中,所述矩阵块索引编码包括所述矩阵块的位置和大小,所述位置块编码规则包括对所述矩阵块的位置和大小的编码,所述矩阵块的位置的编码方式为:

获取所述矩阵块上左上角的元素位于所述待计算矩阵中的坐标,将该坐标作为所述矩阵块位于所述待计算矩阵上的位置;

具体的,位置块编码是为了记录矩阵块位于待计算矩阵中的位置,由于矩阵块区域中的矩阵块是二维矩阵,因此需要记录矩阵块的位置以及大小,获取矩阵块上左上角的元素位于待计算矩阵中的坐标,将该坐标作为矩阵块位于待计算矩阵上的位置。

在其中一个实施方式中,所述矩阵块的大小的编码方式位置块编码规则为:获取所述矩阵块的行列值,并采用行列值来记录所述矩阵块的大小;

或,采用特定数字编码来记录所述矩阵块的大小。

具体的,要想记录矩阵块的大小,可以记录矩阵块的行列值,通过行列值来记录矩阵块的大小,或者采用特定数字编码来记录矩阵块的大小。采用行列值记录矩阵块大小的优点是可以直接译码,缺点是占用位宽较大;而采用特定数字编码的方式优点是占用位宽较小,缺点是需要查表法进行译码。因此需要根据具体的实际场景来选择合适的编码方式。当确定矩阵块左上角的元素位于待计算矩阵中的位置以及矩阵块的行列值后便可以定位到矩阵块的位置。如表1中所示的行列表示法来表示矩阵块的大小,也就是表1中的块类型。按照非零值分布模板中的位置框(集聚区域)对待计算矩阵执行块划分形成多个矩阵块后,还会形成异常值和离散非零值。如图4所示,对各个矩阵块、离散非零值、异常值进行编码,图4中offset表示矩阵块中左上角元素的位置,type表示矩阵块的大小,index表示索引,即,异常值的位置、离散非零值的位置。例如,图3中,左上角的虚线框形成的矩阵块,记录其左上角的元素的坐标,然后记录其大小2*3,则记录了该矩阵块的位置及大小。

表1 待计算矩阵中矩阵块的编码方法

所述位置块编码规则为:

在其中一个实施方式中,所述按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,包括:

按照所述目标类非零值分布模板中的目标集聚区域对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域;

其中,所述矩阵块区域包括多个矩阵块和异常值,所述非矩阵块区域包括离散非零值。

具体的,目标类非零值分布模板中存储了对目标类待计算矩阵进行块划分的目标集聚区域,按照目标类非零值分布模板中的目标集聚区域对目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域。其中,对目标类待计算矩阵进行块划分后矩阵块区域包括多个矩阵块和异常值,非矩阵块区域包括离散非零值。其中离散非零值为对目标类待计算矩阵执行划分后形成的离散的非零值;目标类非零值分布模板中默认目标集聚区域中的各元素均为非零值,异常值是指矩阵块区域中的零值,这些异常值要记录其位置,异常值会影响计算效率,在后续进行比较聚合时剔除掉,以避免无效计算。

在其中一个实施方式中,所述按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中,包括:

对所述非矩阵块区域按照CSR或者COO编码规则进行编码并存储到存储设备中。

具体的,为了提高编码效率,矩阵块区域中的矩阵块按照位置块编码规则进行索引编码并存储到存储设备中,只编码一次、传输一次、存储一次;非矩阵块区域中的离散非零值按照CSR或者COO等编码规则进行索引编码并存储到存储设备中,由于同类别的待计算矩阵中离散非零值的分布是不同的,因此每批计算中除矩阵块以外的离散非零值均需进行一次编码、传输和存储。在非矩阵块区域中,并不对零值进行编码,只对离散非零值进行编码,非矩阵区域内未进行编码的则是零值,减少了对零值的编码,可以提高编码效率,进一步提高传输效率和存储效率。在矩阵块级别上进行编码,无需对待计算数据中的每一个矩阵元素进行编码,压缩了编码的数据量,提高了编码的处理效率,也就提高了传输效率和存储效率。

在其中一个实施方式中,所述对所述矩阵块区域中的矩阵块和非矩阵块区域中的离散非零值按照负载平衡规则以及索引编码执行计算组合以形成多个待计算矩阵组,包括:

根据所述矩阵块索引编码获取各矩阵块的大小;

具体的,为了平衡计算负载,需要将矩阵块和离散值进行计算组合。矩阵块的大小存储于矩阵块索引编码中,因此可以根据矩阵块索引编码获取各矩阵块的大小。

按照所述负载平衡规则将不同大小的矩阵块和至少一个离散非零值执行计算组合形成多个待计算矩阵组。

具体的,按照目标类非零值分布模板对目标类待计算矩阵执行块划分形成多个矩阵块和异常值,并且还会形成多个离散非零值,对矩阵块、离散非零值以及异常值进行编码且存储到存储设备中后,在需要参与计算前,根据矩阵块、离散非零值以及异常值的编码以及负载平衡规则将不同大小的矩阵块和若干数量的离散非零值执行计算组合。由于索引编码中存储了矩阵块的大小,因此根据索引编码便可以获取各矩阵块的大小,然后按照负载平衡规则将不同大小的矩阵块和若干数量的离散非零值执行计算组合形成多个待计算矩阵组。如图6所示进行组合。

在其中一个实施方式中,所述负载平衡规则为:

将最大的矩阵块与最小的矩阵块以及至少一个离散非零值组合形成一个待计算矩阵组;

将次大的数据块与次小的数据块以及至少一个剩余的离散非零值组合形成一个待计算矩阵组,依次组合形成多个待计算矩阵组。

具体的,为了平衡后续计算时的计算负载,如图6所示,将最大的矩阵块与最小的矩阵块以及至少一个离散非零值组合形成一个待计算矩阵组,然后将次大的数据块与次小的数据块以及至少一个剩余的离散非零值组合形成一个待计算矩阵组,依次组合形成多个待计算矩阵组,以平衡负载,提高计算效率。待计算矩阵组是通过索引编码进行组合,不是对具体元素进行组合。

在其中一个实施方式中,所述待计算矩阵组为二维矩阵,所述对所述待计算矩阵组执行比较聚合处理转换成一维待计算组,包括:

对需要执行计算的两个所述待计算矩阵组执行比较聚合处理并分别转换为一维待计算组;

具体的,待计算矩阵组为二维矩阵,而后续计算时需要转换为一维矩阵,因此对需要执行计算的两个待计算矩阵组执行比较聚合处理并分别转换为一维待计算组。两个参与计算的待计算矩阵的元素是一一对应的关系,后续两个待计算矩阵参与计算时,两个相对应的位置的元素进行乘积运算,因此进行乘积运算时乘积为零的运算为无效运算。矩阵块中的元素同与其相对应位置的元素进行计算,如果乘积为零,则需剔除掉该元素,以避免无效运算。比较聚合处理为对矩阵块中为零值的元素的位置以及矩阵块中参与计算时乘积为零的元素的位置需要剔除,索引编码中已对异常值的位置进行记录。此时具体的元素值不参与比较聚合,只是通过所记录的元素所对应的零值或非零值的标记进行判断,也就是通过异常值来进行判断,存在异常值的位置的乘积运算为零值。

在其中一个实施方式中,所述对需要执行计算的两个所述待计算矩阵组执行比较聚合处理并分别转换为一维待计算组,包括:

对需要执行计算的两个所述待计算矩阵组中的矩阵块按照零值消除规则执行比较聚合处理;

具体的,两个待计算矩阵参与计算时,两个相对应的位置的元素进行乘积运算,进行乘积运算时乘积为零的运算为无效运算。零值消除规则为对矩阵块中为零值的元素的位置以及矩阵块中参与计算时乘积为零的元素的位置进行剔除。

将执行比较聚合处理后的所述待计算矩阵组分别转换为一维待计算组。

具体的,待计算矩阵组为二维矩阵,而后续计算时需要转换为一维矩阵,因此对需要执行计算的两个待计算矩阵组执行比较聚合处理并分别转换为一维待计算组。

在其中一个实施方式中,所述零值消除规则为:

若两个所述待计算矩阵数据区域内相对应位置的数据存在零值,则将该零值消除;

若两个所述待计算矩阵数据区域内相对应位置的数据均为非零值,则保留非零值。

具体的,两个待计算矩阵参与计算时,两个相对应的位置的元素进行乘积运算,进行乘积运算时乘积为零的运算为无效运算。零值消除规则为对矩阵块中为零值的元素的位置以及矩阵块中参与计算时乘积为零的元素的位置进行剔除,即,若两个待计算矩阵数据区域内相对应位置的数据存在零值,则将该零值及其对应的进行乘积运算的元素消除;若两个待计算矩阵数据区域内相对应位置的数据均为非零值,则保留非零值。如图7所示的第一比较聚合处理示意图。假设参与计算的待计算矩阵为矩阵A和矩阵B,图7中左侧实线×属于矩阵A,实线△属于矩阵B,虚线×属于矩阵A,虚线△属于矩阵B,图7中右侧虚线矩形框为对应计算乘积为零的位置,在计算时需剔除矩阵A和矩阵B中该位置参与计算的相关数据。

在其中一个实施方式中,所述矩阵块索引编码和离散值索引编码均与所述目标类待计算矩阵中的具体元素建立映射关系,对所述待计算矩阵组执行比较聚合处理转换成一维待计算组后,还包括:

根据所述映射关系获取与所述一维待计算组相对应的具体元素,并将与所述一维待计算组相对应的具体元素送入处理单元进行计算。

具体的,一维待计算组表示的是索引编码,索引编码包括矩阵块索引编码和离散值索引编码,矩阵块索引编码记录了矩阵块在待计算矩阵中的位置,离散值索引编码记录了离散非零值在待计算矩阵中的位置,在后续计算中需要获取与索引编码对应的具体元素,因此索引编码与具体元素要建立映射关系,即,矩阵块索引编码与其相应的具体元素建立映射关系,离散值索引编码与其相应的具体元素建立映射关系,如图5所示,图中既包括索引编码,也包括具体元素,相当于图5中的索引编码和具体元素建立映射关系。因此,在参与计算时,将与一维待计算组相对应的具体元素送入处理单元进行计算。图5中存储了所有的参与计算的索引编码所对应的具体元素,也就是具体元素值。

在一些实施例中

参照图2所示,图2为本申请实施例提供的图结构数据处理方法的第二方法流程图。其中,图2所示方法中,与图1所示方法中相同或相似的内容,可以参考图1方法中的描述,此处不做赘述。

S201,对所述各类待计算矩阵中非零值的位置进行检测,以获取所述各类待计算矩阵的非零值分布。

各类待计算矩阵的非零值分布是指各类待计算矩阵中非零值的分布情况,在各类待计算矩阵中包括很多数值,分为零值和非零值,后续通过处理单元进行计算时需要剔除这些零值,因此需要获取各类待计算矩阵的非零值分布,对各类待计算矩阵中的数值进行检测,以得到各类待计算矩阵的非零值分布。

S202,对所述各类待计算矩阵的非零值分布进行统计分析,以确定所述各类待计算矩阵中的多个共同集聚区域。

本申请的数据处理方法应用在同一计算场景下,同一计算场景下的待计算数据具备一定的共性,也就是同一计算场景下待计算矩阵的非零值分布的位置及集聚区域存在相同之处,因此,针对目标计算场景,对目标计算场景下的各类待计算矩阵进行统计分析,以确定各类待计算矩阵中的多个共同集聚区域,共同集聚区域均存在于同类别的待计算矩阵中。

S203,对各类待计算矩阵中的共同集聚区域进行非零值占比计算,以获取各类待计算矩阵中共同集聚区域的非零值占比,将该非零值占比作为所述各类待计算矩阵中共同集聚区域的集聚程度。

要想获取各共同集聚区域的集聚程度,首先要对各共同集聚区域进行非零值占比计算,以通过占比计算获取各共同集聚区域的非零值占比,以便于将共同集聚区域的非零值占比与预设非零阈值比较后确定目标类非零值分布模板。

S204,将所述各类待计算矩阵中共同集聚区域的集聚程度与所述预设非零阈值进行比较,以从所述共同集聚区域中筛选出其集聚程度超过所述预设非零阈值的目标集聚区域。

通过计算得到共同集聚区域的集聚程度后,将共同集聚区域的集聚程度与预设非零阈值进行比较,其中,集聚程度超过预设非零阈值的共同集聚区域作为目标集聚区域,该目标集聚区域则为对目标类待计算矩阵进行块划分的依据。

S205,将所述各类待计算矩阵的目标集聚区域确定为所述各类待计算矩阵的非零值分布模板。

确定好目标集聚区域后,将所有的目标集聚区域确定为与各类待计算矩阵相应的非零值分布模板。

S206,对各类待计算矩阵的非零值分布模板中的目标集聚区域按照位置块编码规则进行编码以形成与所述非零值分布模板相应的矩阵块索引编码并存储到存储设备中。

非零值分布模板中存储了目标集聚区域,对应待计算矩阵划分后的矩阵块区域,同类别的待计算矩阵的非零值分布模板相同,因此同类别的待计算矩阵划分后的矩阵块区域也是相同的,因此只需对各类待计算矩阵的非零值分布模板中的目标集聚区域按照位置块编码规则进行索引编码一次即可,无需对矩阵块区域中的矩阵块的每个元素进行索引编码,无需对每批待计算矩阵进行索引编码。矩阵块索引编码存储到存储设备中,同类别的待计算矩阵,无论多少批计算只需编码一次、输出一次、存储一次。

S207,获取目标图结构数据,将所述目标图结构数据转换为目标类待计算矩阵,并从非零值分布模板中获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码。

在待计算矩阵参与计算的过程中,首先要获取目标图结构数据,将目标图结构数据转换为目标类待计算矩阵,即,确定目标待计算矩阵的类别,然后从非零值分布模板中获取与该目标类待计算矩阵相对应的目标类非零值分布模板,获取到目标类非零值分布模板后,根据目标类非零值分布模板获取相应的矩阵块索引编码。

S208,按照所述目标类非零值分布模板中的目标集聚区域对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域。

目标类非零值分布模板中存储了对目标类待计算矩阵进行块划分的目标集聚区域,按照目标类非零值分布模板中的目标集聚区域对目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域。

S209,对所述非矩阵块区域按照CSR或者COO编码规则进行编码以形成所述离散值索引编码并存储到存储设备中。

非矩阵块区域中的离散非零值按照CSR或者COO等编码规则进行索引编码并存储到存储设备中,由于同类别的待计算矩阵中离散非零值的分布是不同的,因此每批计算中除矩阵块以外的离散非零值均需进行一次编码、传输和存储。

S210,根据所述矩阵块索引编码获取各矩阵块的大小。

为了平衡计算负载,需要将矩阵块和离散值进行计算组合。矩阵块的大小存储于矩阵块索引编码中因此可以根据矩阵块索引编码获取各矩阵块的大小。

S211,按照所述负载平衡规则将不同大小的矩阵块和至少一个离散非零值执行计算组合形成多个待计算矩阵组。

由于索引编码中存储了矩阵块的大小,因此根据索引编码便可以获取各矩阵块的大小,然后按照负载平衡规则将不同大小的矩阵块和若干数量的离散非零值执行计算组合形成多个待计算矩阵组。

S212,对需要执行计算的两个所述待计算矩阵组中的矩阵块按照零值消除规则执行比较聚合处理。

两个待计算矩阵参与计算时,两个相对应的位置的元素进行乘积运算,进行乘积运算时乘积为零的运算为无效运算。零值消除规则为对矩阵块中为零值的元素的位置以及矩阵块中参与计算时乘积为零的元素的位置进行剔除。

S213,将执行比较聚合处理后的所述待计算矩阵组分别转换为一维待计算组。

待计算矩阵组为二维矩阵,而后续计算时需要转换为一维矩阵,因此对需要执行计算的两个待计算矩阵组执行比较聚合处理并分别转换为一维待计算组。

S214,根据所述映射关系获取与所述一维待计算组相对应的具体元素,并将与所述一维待计算组相对应的具体元素送入处理单元进行计算。

一维待计算组标识的是索引编码,索引编码包括矩阵块索引编码和离散值索引编码,矩阵块索引编码记录了矩阵块在待计算矩阵中的位置,离散值索引编码记录了离散非零值在待计算矩阵中的位置,矩阵块索引编码与其相应的具体元素建立映射关系,离散值索引编码与其相应的具体元素建立映射关系。因此,在参与计算时,将与一维待计算组相对应的具体元素送入处理单元进行计算。

应该理解的是,虽然图1~图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1~图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替执行。

在一些实施例中

参照图8所示,图8为本申请实施例提供的图结构数据处理系统的系统结构图。

本实施例的图结构数据处理系统,包括:

神经网络处理模块,用于获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

本申请的图结构数据处理方法首先通过神经网络处理模块获取目标图结构数据,对目标图结构数据进行索引编码,以获得编码后的目标图结构数据,通过对目标图结构数据的编码表示目标图结构数据是否是非零值,然后将编码后的目标图结构数据输入预设的图神经网络,通过图神经网络来获得节点间的关联关系。

模板编码模块,用于将所述目标图结构数据转换为目标类待计算矩阵,并从非零值分布模板中获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

在待计算矩阵参与计算的过程中,首先要通过模板编码模块将目标图结构数据转换为目标类待计算矩阵,即,确定目标待计算矩阵的类别,然后通过模板编码模块从非零值分布模板中获取与该目标类待计算矩阵相对应的目标类非零值分布模板,获取到目标类非零值分布模板后,通过模板编码模块根据目标类非零值分布模板获取相应的矩阵块索引编码。

矩阵块划分模块,用于按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中;

获取到目标类非零值分布模板后,通过矩阵块划分模块根据目标类非零值分布模板可以对目标类待计算矩阵进行块的划分,以便于将目标类待计算矩阵划分为矩阵块区域以及非矩阵块区域,矩阵块区域包括多个矩阵块,矩阵块编码已经获取,此时需对非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

关于图结构数据处理系统的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述图结构数据处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一些实施例中

本实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现数据处理方法的步骤。

该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域内的技术人员应明白,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在其中一个实施方式中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵目标类待计算矩阵,并从非零值分布模板中获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

进一步的,整个数据处理过程中,图9中的计算机设备对稀疏矩阵数据进行了块划分、编码等过程,并存储在硬盘或内存中。如果是实时应用场景,块划分、编码等过程在内存中处理完就直接通过PCIE总线或网络接口发送给加速卡,先存储在板载内存(板载内存容量大,FPGA片上存储通常较小,只用作数据处理时的临时缓存),接下来的处理过程都在FPGA(ASIC)完成,例如按照负载均衡规则进行计算组合、比较聚合处理以及乘法运算等这些操作都是FPGA片上的硬件电路实现(FPGA是一种可编程硬件,其处理速度远高于像CPU这样的通用处理器,经常用其进行神经网络的加速)。处理单元就是最终做乘法计算的专用单元,每个处理单元可认为是一个乘法器,A、B矩阵的一对元素相乘。

在一些实施例中

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取目标图结构数据,对所述目标图结构数据进行索引编码,以获得编码后的目标图结构数据;

将编码后的目标图结构数据输入预设的图神经网络,以获得节点间的关联关系;

其中,对所述目标图结构数据进行索引编码,包括:

将所述目标图结构数据转换为目标类待计算矩阵目标类待计算矩阵,并从非零值分布模板中获取与所述目标类待计算矩阵相应的目标类非零值分布模板,以及获取与所述目标类非零值分布模板相应的矩阵块索引编码;

按照所述目标类非零值分布模板对所述目标类待计算矩阵执行块划分以形成矩阵块区域以及非矩阵块区域,并按照预设编码规则对所述非矩阵块区域进行编码以形成离散值索引编码并存储到存储设备中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120115929111