网站地图 | Tags | 热门标准 | 最新标准 | 订阅

T/AI 115.3-2024 信息技术 神经网络表示与模型压缩 第3部分:图神经网络

  • 名  称:T/AI 115.3-2024 信息技术 神经网络表示与模型压缩 第3部分:图神经网络 - 下载地址1
  • 类  别:团体标准规范
  • 下载地址:[下载地址1]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

ICS 35.040
CCS L 71
信息技术 神经网络表示与模型压缩 第3部分:图神经网络
Information technology - Neural network representation and model compression —
Part 3: Graph neural network
团体标准
T/AI 115.3—2024
2024 - 12 - 30发布
2024 – 12 – 30实施
中关村视听产业技术创新联盟 发布

版权保护文件 版权所有归属于该标准的发布机构,除非有其他规定,否则未经许可,此发行物及其章节不得以其他形式或任何手段进行复制、再版或使用,包括电子版,影印件,或发布在互联网及内部网络等。使用许可可于发布机构获取。

T/AI 115.3—2024
I
目 次
前言 ....................................................................................................................................................... II
引言 ..................................................................................................................................................... III
1 范围 ............................................................................................................................................................... 1
2 规范性引用文件 ........................................................................................................................................... 1
3 术语和定义 ................................................................................................................................................... 1
4 缩略语 ........................................................................................................................................................... 3
5 图神经网络表示与模型压缩概述 ................................................................................................................ 5
6 图数据表示 ................................................................................................................................................... 6
6.1 基本定义 ................................................................................................................................................ 6
6.2 图数据类型定义 .................................................................................................................................... 9
6.3 图基本运算 .......................................................................................................................................... 10
6.4 图基本任务 .......................................................................................................................................... 24
7 图神经网络模型 ......................................................................................................................................... 25
7.1 模型结构 .............................................................................................................................................. 25
7.2 基础算子 .............................................................................................................................................. 28
7.3 点级模型 .............................................................................................................................................. 76
7.4 边级模型 .............................................................................................................................................. 97
7.5 图级模型 ............................................................................................................................................ 103
8 图神经网络压缩 ....................................................................................................................................... 108
8.1 图数据压缩 ........................................................................................................................................ 108
8.2 模型量化与剪枝 .................................................................................................................................117
8.3 模型蒸馏 .............................................................................................................................................119
8.4 模型加速 ............................................................................................................................................ 124
9 图神经网络计算框架 ............................................................................................................................... 129
9.1 基于深度学习平台的图神经网络计算框架 ..................................................................................... 129
9.2 图神经网络计算框架与第三方数据源接口 ..................................................................................... 138
T/AI 115.3-2024
II
前言
本文件按照GB/T 1.1—2020《标准化工作导则 第1部分:标准化文件的结构和起草规则》的规定起草。
本文件是T/AI 115《信息技术 神经网络表示与模型压缩》的第2部分。T/AI 115已经发布了以下部分:
——第1部分:卷积神经网络;
——第3部分:图神经网络。
本文件由新一代人工智能产业技术创新战略联盟AI标准工作组提出。
本文件由中关村视听产业技术创新联盟归口。
本文件起草单位:北京大学、北京邮电大学、华为技术有限公司、蚂蚁金服(杭州)网络技术有限公司、北京百度网讯科技有限公司、鹏城实验室、吉林大学、西安交通大学、上海图灵天问智能科技有限公司、中国电子技术标准化研究院、阿里巴巴(中国)有限公司、北京海致星图科技有限公司、北京图数创智科技有限公司、杭州海康威视数字技术股份有限公司、上海上湖信息技术有限公司、中国科学院自动化研究所、中科南京人工智能创新研究院、中移动信息技术有限公司、东北大学、深圳市腾讯计算机系统有限公司、北京交通大学、清华大学、中国联合网络通信有限公司、腾讯科技(深圳)有限公司。
本文件主要起草人:石川、田永鸿、黄海、任宇翔、张志强、冯仕堃、陈光耀、杨博、裴红斌、刘忠雨、范深、沈游人、杨成、岳大帅、刘曜齐、耿赛赛、陈均泽、郝健翔、杨晋豫、文思源、张学仓、崔佳旭、王平辉、李慧园、陈泰乐、曾菊香、何径舟、黄正杰、黄世维、方泽阳、陈泽裕、于佃海、李伟彬、周俊、胡斌斌、韦绍玮、梁磊、敬斌、张翀、倪铭坚、彭佩玺、张文涛、盛则昂、黎洋、沈彧、杨智、崔斌、孙铭蔚、王鹏、刘洪、杨帆、邹磊、吴伟、周光煜、方超、陈诚、姜伟浩、王扬、王春平、陈磊、张一帆、赵士云、程健、陈卓、尚晶、李珍、张岩峰、蒋杰、陶阳宇、欧阳文、孙瑞鸿、耿阳李敖、李清勇、王鑫、朱文武、胡浩基、王化良、胡欣怡、杨雨泽、鲍薇、郑若琳、沈芷月、杨斌、程新洲、张伟民、赵海英、黄铁军、高文。
T/AI 115.3—2024
III
引言
图神经网络已经在推荐系统、知识图谱、智能交通等领域得到广泛应用。基于图神经网络的深度学习算法及其衍生应用系统在许多图任务上取得了突破性的进展,但是其具体的实现仍然依赖于不同的算法平台。由于目前没有统一的图神经网络的表示标准,不同的算法平台采用了不同的图神经网络的表示和存储标准;不同图神经网络框架之间不能互操作与协同工作;图数据和图神经网络模型不能在不同平台上直接迁移使用;不同图神经网络框架对于图神经网络粒度定义不同,妨碍了硬件厂商对于图神经网络的加速和优化;对于新出现的算子,框架都需要进行重定义。本文件旨在提供图数据和图神经网络统一的表示,以及模型算子接口的统一规范参考,提升用户对图神经网络模型的复用效果。对于本标准规定的表示方法不要求平台原生支持,可以通过转换、工具包等形式进行支持。本文件的定义可转化为与特定计算设备、框架匹配的形式和实现。T/AI 115旨在确立适用于不同种类神经网络的表示方法与模型压缩的规范,拟由三个部分组成:
——第1部分:卷积神经网络。目的在于确立适用千卷积神经网络的表示与模型压缩标准。
——第2部分:大规模预训练模型。目的在于确立适应多种推理平台和计算要求的大规模预训练模型的基本表示方法与加速压缩过程。
——第3部分:图神经网络。目的在于确立适应多种计算要求的高效图神经网络模型的基本表示方法与压缩加速过程。
本文件的发布机构提请注意,声明符合本文件时,可能涉及到7.2.1.5与《一种基于移位图卷积神经网络骨骼点行为识别系统及其识别方法》(专利号:202010419839.4)、《一种自适应时序移位神经网络时序行为识别方法》(专利号:202010419814.4)、《异质图神经网络生成方法、装置、电子设备及存储介质》(专利号:201910349275.9);7.3.2与《一种用于短文本的分类方法及装置》(专利号:201910945503.9)、《基于多通路图卷积神经网络的对象分类方法及装置》(专利号:202010555093.X)、《一种基于图卷积网络模型的分类方法及装置》(专利号:202011604370.8);7.3.3与《一种信息预测方法、装置、存储介质及计算机设备》(专利号:202110552598.5)、《一种套现用户检测方法、装置及设备》(专利号:201910052269.7)、《一种基于异质图神经网络的节点处理方法、装置及设备》(专利号:202010750181.5)、《基于统一优化目标框架图神经网络的数据分类方法及装置》《专利号:202110023447.0》;7.4.2与《一种基于异质信息网络表示的推荐方法及装置》(专利号:201711239629.1)、《一种基于元路径引导嵌入的查询推荐方法及装置》(专利号:201910342766.0);7.4.4与《图节点关系表征生成和图节点业务关系预测方法及装置》(专利号:202111003074.7);9.2.2与《一种图数据采样方法和系统》(专利号:202011038681.2)相关的专利的使用。
本文件的发布机构对于该专利的真实性、有效性和范围无任何立场。
该专利持有人已向本文件的发布机构承诺,他愿意同任何申请人在合理且无歧视的条款和条件下,就专利授权许可进行谈判。该专利持有人的声明已在本文件的发布机构备案,相关信息可以通过以下联系方式获得:
专利持有人:北京大学、北京邮电大学、蚂蚁集团、深圳市腾讯计算机系统有限公司、中国科学院自动化研究所、中科南京人工智能创新研究院
地址:北京市海淀区颐和园路5号、北京市海淀区西土城路10号、浙江省杭州市西湖区西溪路569号蚂蚁A空间、广东省深圳市南山区腾讯滨海大厦、北京市海淀区中关村东路 95 号、江苏省南京市创研路266号麒麟人工智能产业园3号楼3楼
联 系 人:黄铁军
通讯地址:北京大学理科2号楼2641室
邮政编码:100871
电子邮件:tjhuang@pku.edu.cn
电话:+8610-62756172
T/AI 115.3—2024
IV
传真:+8610-62751638
网址:http://www.aitisa.org.cn
请注意除上述专利外,本文件的某些内容仍可能涉及专利。本文件的发布机构不承担识别这些专利的责任。
T/AI 115.3—2024
1
信息技术 神经网络表示与模型压缩 第3 部分:图神经网络
1 范围
本文件规定了适应多种计算要求的高效图神经网络模型的基本表示方法与压缩加速过程。
本文件适用于各种图神经网络模型的研制、开发、测试评估过程,以及在端云领域的高效应用。
注:对于本文件规定的表示与模型压缩方法不要求机器学习框架原生支持,可以通过转换、工具包等形式支持。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,
仅注日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本
文件。
GB/T 5271.34-2006 信息技术 词汇 第34 部分:人工智能 神经网络
GB/T 42382.1-2023 信息技术 神经网络表示与模型压缩 第1 部分:卷积神经网络
3 术语和定义
下列术语和定义适用于本文件。
3.1
图神经网络 graph neural network
用于处理由图数据结构表示数据的神经网络。
注:是人工智能应用中代表性的深度学习算法。
3.2
模型 model
对应完成单个或多个任务的神经网络。
3.3
层 layer
神经网络中的分级结构。
注:每个网络层包含多个算子,例如输入层,卷积层,全连接层。
[来源:GB/T 42382.1-2023,3.2]
3.4
权重 weight
权重张量 weight tensor
不同单元之间的连接强度。
注:权重是神经网络的固有参数之一。
[来源:GB/T 42382.1-2023,3.21,有修改]
3.5
图 graph
T/AI 115.3—2024
2
一个三元组,包含节点集、边集、关联函数。
3.6
节点 node
图结构数据中的节点。
3.7
边 edge
图结构数据中的边。
3.8
特征 feature
数据集、神经网络计算过程中,数据的属性向量。
3.9
图基本运算 graph fundamental operation
对图结构信息的基本运算,例如求解节点的度等。
3.10
图基本任务 graph fundamental task
基于图数据实现某种功能,例如节点分类、链路预测、图分类任务等。
3.11
基础算子 basic operator
应用在图神经网络模型上的基本运算操作定义。
3.12
点级模型 node-level task model
应用于节点级任务的图神经网络模型。
3.13
边级模型 edge-level task model
应用于边级任务的图神经网络模型。
3.14
图级模型 graph-level task model
应用于图级任务的图神经网络模型。
3.15
模型加速 model acceleration
降低神经网络模型推理时间,提高图神经网络模型运行和传输效率的方法。
3.16
模型压缩 model compression
减小神经网络模型规模,提高神经网络模型运行和传输效率的方法。
3.17
采样 sampling
T/AI 115.3—2024
3
采样是指用部分图数据或图特征来代替完整图数据或图特征的方法。
3.18
量化 quantization
将输入值从一个大集合映射到一个较小集合的过程。
3.19
剪枝 pruning
将深度学习模型去掉一些影响性能较小的单元的方法。
3.20
结构化矩阵 structured matrix
一类特殊的矩阵,可以通过使用较少的数据以及一定的排列规律,构成完整的矩阵。 [来源:GB/T 42382.1-2023,3.14]
3.21
分块结构化矩阵 block structured matrix
指可以分为多个块,且每个分块均按照某种规律排列的矩阵。 [来源:GB/T 42382.1-2023,3.6]
3.22
随机游走 random walk
遍历图中节点的方式,通过随机选择节点的相邻节点来生成节点序列,以捕捉图信息并用于图的表示学习。
3.23
点采样器 node sampler
根据起始节点,对输入的图数据进行采样的采样器。
3.24
层采样器 layer sampler
根据起始节点,对输入的图数据进行层级采样的采样器。
3.25
子图采样器 subgraph sampler
根据输入图数据进行子图采样的采样器。
4 缩略语
下列缩略语适用于本文件。
MLP:多层感知机(Multilayer Perceptron)
GNN:图神经网络(Graph Neural Network)
GCN:图卷积网络(Graph Convolutional Networks)
GAT:图注意力网络(Graph Attention Networks)
GraphSAGE:图采样与图聚合(Graph Sample and Aggregation)
GIN:图同构网络(Graph Isomorphism Network)
GGNN:门控图神经网络(Gated Graph Neural Network)
T/AI 115.3—2024
4
LSTM:长短期记忆网络(Long Short Term Memory)
ResGatedgraph:残差门控图神经网络(Residual Gated Graph Neural Network)
GINE:带边特征的图同构网络(Graph Isomorphism Network with Edge features)
GaAN:图注意力网络(Graph Attention Network)
AM-GCN:自适应多通道图卷积网络(Adaptive Multi-channel Graph Convolutional Network)
FAGCN:频率自适应图卷积网络(Frequency Adaptation Graph Convolutional Networks)
GeomGCN:几何图卷积网络(Geometric Graph Convolutional Networks)
HGAT:异质图注意力网络(Heterogeneous Graph Attention Network)
GCNII:简单深度图卷积网络(Simple and Deep Graph Convolutional Networks)
SGC:简化图卷积网络(Simple Graph Convolution)
APPNP:近似个性化神经预测传播(Approximate Personalized Propagation of Neural Predictions)
GPRGNN:广义网页排名(以下简称“PageRank”)图神经网络(Generalized PageRank Graph Neural Network)
ChebNet:切比雪夫谱图卷积网络(Chebyshev Spectral Graph Convolutional Network)
JKnet:跳跃知识网络(Jumping Knowledge Networks)
DCNN:深度卷积神经网络(Deep Convolutional Neural Networks)
Line:大规模信息网络嵌入(Large-scale Information Network Embedding)
HPN:异质图传播网络(Heterogeneous Graph Propagation Network)
GAMLP:图注意力多层感知器(Graph Attention Multi-Layer Perceptron)
GNN-LF/HF:低频/高频图神经网络(Graph Neural Network with Low Frequency/High Frequency)
HeCo:具有协同对比学习的自监督异质图神经网络(Self-Supervised Heterogeneous Graph Neural Network with Co-Contrastive Learning)
HACUD:基于属性异质信息网络和分层注意机制的套现用户检测模型(Cash-Out User Detection based on Attributed Heterogeneous Information Network with a Hierarchical Attention Mechanism)
GTN:图转换器(以下简称“transformer”)网络(Graph Transformer Network)
SAT:简单实例自适应自训练半监督文本分类(Improving Semi-Supervised Text Classification with Simple Instance-Adaptive Self-Training)
GraphGPS:基于图的渐进式传播与搜索(Graph-based Progressive Propagation and Searching)
GloGNN:全局节点信息图神经网络(Graph Neural Network with Global Information)
R-GCN:关系图卷积网络(Relational graph convolutional network)
HIN:异质信息网络(Heterogeneous Information Network)
BERT:双向编码器表征法(Bidirectional Encoder Representations from Transformers)
MCCF:多组件图卷积协同过滤模型(Multi-Component Graph Convolutional Collaborative Filtering)
MEIRec:用于意图推荐的元路径引导嵌入方法(Metapath-guided Embedding method for Intent Recommendation)
HERec:基于异质网络嵌入的推荐方法(Heterogeneous Information Network Embedding for Recommendation)
SEAL:从子图、嵌入和属性学习进行链接预测(Learning from Subgraphs, Embeddings and Attributes for Link Prediction)
GraIL:图归纳学习(Graph Inductive Learning)
NBFNet:神经贝尔曼-福特网络(Neural Bellman-Ford Network)
PAGNN:路径感知图神经网络(Path-aware Graph Neural Network)
Cluster-GCN:聚类图卷积网络(Cluster-Graph Convolution Network)
VQ-GNN:矢量量化图神经网络(Vector Quantization-Graph Neural Network)
LADIES:层相关重要性采样(Layer-Dependent Importance Sampling)
HGT:异质图转换器(Heterogeneous Graph Transformer)
GraphSaint:基于图采样的归纳学习(Graph Sampling Based Inductive Learning)
EXACT:极限激活压缩(Scalable Graph Neural Networks Training via Extreme Activation Compression)
SGC:简单图卷积网络(Simplifying Graph Convolutional Networks)
T/AI 115.3—2024
5
PPNP:基于个性化PageRank算法的图神经网络预测与传播(Predict then Propagate: Graph Neural Networks meet Personalized PageRank)
LSP:局部敏感剪枝(Locality-Sensitive Pruning)
LTD:元蒸馏(Learning to Distill)
GRACED:基于自定义知识蒸馏的图增强多层感知机(Graph Augmented MLPs via Customized Knowledge Distillation)
ROD:接收感知在线蒸馏(Reception-aware Online Distillation for Sparse Graphs)
GNN-SD:图神经网络自蒸馏(GNN Self-Distillation)
IGSD:迭代图自蒸馏(Iterative Graph Self-Distillation)
Node2Vec:一种学习网络中节点连续特征表示的算法框架(Node to Vector)
DiffPool:可微图池化(differentiable graph pooling)
MPSN:动作感知伪暹罗网络(Motion-aware Pseudo Siamese Network)
MPNN:消息传递图神经网络(Message Passing Neural Networks)
D-MPNN:有向消息传递神经网络(Directed Message Passing Neural Networks)
DmoN:深度模块化网络(Deep Modularity Networks)
GMN:图匹配网络(Graph Matching Networks)
FGNN:因子图神经网络(Factor Graph Neural Network)
molGAN:分子生成对抗网络(Molecular Generative Adversarial Network)
GRAN:图循环注意网络(Graph Recurrent Attention Networks)
BNS:边界节点采样(Boundary Node Sampling)
SSP:失效同步并行(stale synchronous parallel)
5 图神经网络表示与模型压缩概述
本标准为图神经网络表示和模型压缩提供了统一参考规范,其内容总体架构如图1所示。该架构规范化了图神经网络的表示格式,图神经网络压缩和加速方法,以及图神经网络计算框架,有利于提高图神经网络模型在各类设备上的开发与运行效率。
图1 图神经网络表示与模型压缩总体架构
总体架构包括以下三个部分。
T/AI 115.3—2024
6
图神经网络表示:规范化了图神经网络的表示方法,包括图数据的表示方法和图神经网络模型的表示方法。图数据表示中涵盖基本数据类型定义、图数据类型定义、图基本运算定义以及图基本任务定义。图神经网络模型表示中涵盖模型结构和基础算子定义,并从任务划分的角度规范了图神经网络点级模型、边级模型和图级模型的算子接口。本部分具体对应标准的第6、第7章节。
图神经网络压缩和加速:规范了图神经网络压缩方法和模型加速策略及其算子接口。压缩方法包括图数据的压缩以及图模型的压缩两个部分。图数据的压缩包括图拓扑结构压缩、图特征数据压缩以及图采样。图模型的压缩包括模型量化剪枝和模型蒸馏。对于图数据和模型的压缩方法,均定义了用于度量性能的指标。图模型加速包括并行加速策略、迭代加速策略、图划分策略以及通信加速策略。本部分具体对应标准的第8章节。
图神经网络计算框架:规范了基于深度学习平台的图神经网络计算框架,以及该计算框架与第三方数据源的接口定义。基于深度学习平台的图神经网络计算框架定义了系统逻辑体系结构,以及与深度学习平台的接口规范。与第三方数据源接口定义包括图数据库接口和批处理系统接口。本部分具体对应标准的第9章节。
6 图数据表示
6.1 基本定义
6.1.1 概述
本标准定义了数据结构以及各类基本数据类型。
6.1.2 数据结构定义
本标准定义消息(message)为数据结构的基本单元,字段(field)为构成消息的基本元素,如图2所示。
图2 数据结构定义规范
消息由一系列具有特定标签(field label)、类型(field type)、名称(field name)和标号(field number)的字段组成。可使用消息本身作为字段的类型,以实现数据结构的嵌套。
a)
字段标签(field label):字段标签用于定义字段的属性和使用规则。默认情况下,所有字段均被视为可选("optional"),无需显式声明。此做法旨在简化编程语言的使用,并确保向后兼容
T/AI 115.3—2024
7
性。当字段需要表示多个值时,应使用"repeated"关键字进行标注,以明确该字段可以包含一个以上的值。
b)
字段类型(field type):字段类型定义了字段可以存储的数据类型。该类型包括int32、float、double、bool和string等标准数据类型,以及枚举(enum)、映射(map)、消息(message)等复合类型。
c)
字段名称(field name):字段名称是在消息定义中为字段指定的唯一名称,用于标识和访问消息的具体部分。
d)
字段编号(field number):字段编号是一个正整数,用于在消息的二进制格式中唯一标识字段。该编号是消息序列化和反序列化过程中的关键,确保了即使字段名称在不同语言间有所不同,数据的结构仍能被正确理解。
6.1.3 基本数据类型定义
6.1.3.1 整数定义
整数(int)定义见表1。
表1 整数定义
字段
类型
定义
value
One of {uint32, uint64, int32, int64, sint32, sint64, fixed32, fixed64, sfixed32, sfixed64}
一组可选的整数类型,确保在不同情况下使用适当的数值范围和编码效率
6.1.3.2 浮点数定义
浮点数(Float)定义见表2。
表2 浮点数定义
字段
类型
定义
value
One of {float, double}
一组可选的浮点数类型,确保在不同情况下使用适当的数值范围和编码效率
6.1.3.3 元组定义
元组(Tuple)定义见表3。
表3 元组定义
字段
类型
定义
element-1
DataType
元组的第一个元素
element-2
DataType
元组的第二个元素



element-n
DataType
元组的第n个元素
6.1.3.4 列表定义
列表(List)定义见表4。
T/AI 115.3—2024
8
表4 列表定义
字段
类型
定义
elements
DataType [repeated]
列表的各元素
6.1.3.5 字典定义
字典(Dict)定义见表5。
表5 字典定义
字段
类型
定义
entries
map<DataType, DataType>
字典的键值对 <Key, value> 映射, 其中浮点数、消息类型和枚举类型不被允许作为键出现。
6.1.3.6 张量定义
张量(tensor)定义见表6。
表6 张量定义
字段
类型
定义
dtype
DataType
张量的数据类型,通常是数值类型,例如int、float、double等
shape
int64 [repeated]
张量的形状
data
DataType [repeated]
张量存储的数据
require_grad
bool
张量是否需要计算梯度
device
string
张量位于的设备
6.1.3.7 稀疏张量定义
稀疏(SparseTensor)张量定义见表7。
表7 稀疏张量定义
字段
类型
定义
dtype
DataType
稀疏张量的数据类型,通常是数值类型,例如int、float、double等
dense_shape
int64 [repeated]
稀疏张量稠密表示下的形状
format
enum {"coo", "csc", "csr"}
稀疏张量的存储格式
data
DataType [repeated]
稀疏张量非零元素的数据
index_format
oneof {COOIndex, CSCIndex, CSRIndex}
稀疏张量索引的格式
require_grad
bool
稀疏张量是否需要计算梯度
device
string
稀疏张量位于的设备
6.1.3.8 坐标格式索引
坐标格式索引(COOIndex)定义见表8。
T/AI 115.3—2024
9
表8 坐标格式索引
字段
类型
定义
row_indices
int64 [repeated]
COO格式的行索引
col_indices
int64 [repeated]
COO格式的列索引
6.1.3.9 压缩稀疏行索引
压缩稀疏行索引(CSRIndex)定义见表9。
表9 压缩稀疏行索引定义
字段
类型
定义
rowptr
int64 [repeated]
CSR格式的行指针
col_indices
int64 [repeated]
CSR格式的列索引
6.1.3.10 压缩稀疏列索引
压缩稀疏列索引(CSCIndex)定义见表10。
表10 压缩稀疏列索列定义
字段
类型
定义
row_indices
int64 [repeated]
CSC格式的行索引
colptr
int64 [repeated]
CSC格式的列指针
6.2 图数据类型定义
6.2.1 同质图定义
同质图(Graph)定义见表11。
表11 同质图定义
字段
类型
定义
X
tensor
可选,节点特征矩阵
edge_index
oneof {tensor, SparseTensor}
可选,边索引
edge_weight
tensor
可选,边特征矩阵
Y
tensor
可选,节点或图标签
pos
tensor
可选,节点位置
6.2.2 异质图定义
异质图(HeteroGraph)定义见表12。
表12 异质图定义
字段
类型
定义
X_dict
Dict [string, tensor]
可选,节点特征矩阵字典
edge_index_dict
oneof {Dict [string, tensor], Dict [string, SparseTensor]}
可选,边索引字典
edge_weight_dict
Dict [string, tensor]
可选,边特征矩阵字典
Y_dict
Dict [string, tensor]
可选,节点或图标签字典
pos_dict
Dict [string, tensor]
可选,节点位置字典
T/AI 115.3—2024
10
6.2.3 批量图定义
批量图(BatchGraph)定义见表13。
表13 批量图定义
字段
类型
定义
X
tensor
可选,节点特征矩阵
edge_index
oneof {tensor, SparseTensor}
可选,边索引
edge_weight
tensor
可选,边特征矩阵
Y
tensor
可选,图的标签
pos
tensor
可选,节点位置矩阵
batch
tensor
可选,指示每个节点属于哪个图
ptr
tensor
可选,用于指示每个图在批量图中的范围,便于还原原图
6.2.4 动态图定义
动态图(DynamicGraph)定义见表14。
表14 动态图定义
字段
类型
定义
src
tensor
可选,源节点列表
dst
tensor
可选,目标节点列表
t
tensor
可选,事件时间戳列表
msg
tensor
可选,消息特征矩阵
6.2.5 坐标图定义
坐标图(CoordinateGraph)定义见表15。
表15 坐标图定义
字段
类型
定义
R
tensor
可选,节点坐标
X
tensor
可选,节点特征
X_coord
tensor
可选,节点矢量特征
edge_index
oneof {tensor, SparseTensor}
可选,边索引
edge_attr
tensor
可选,边特征矩阵
Y
tensor
可选,节点或图标签
Y_coord
tensor
可选,节点矢量标签
dis_coord
tensor
可选,坐标系中距离类型
6.3 图基本运算
图基本运算的基本运算定义见表16~表48。
degree运算操作定义见表16。
T/AI 115.3—2024
11
表16 degree运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
degree
计算给定的一维索引张量对应图的(未加权)度
Input
index
索引张量
tensor
dtype
可选,返回张量的数据类型
string
edge_type
可选,边的类型
string
num_nodes
可选,节点的数量
int
Output
Y
输出张量
tensor
dropEdge运算操作定义见表17。
表17 dropEdge运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
dropEdge
根据伯努利分布,以概率p从图中随机丢弃边
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵
tensor
p
可选,丢弃概率
float
force_undirected
可选,如果设置为True,则将丢弃或保留无向边的两个边。
bool
num_nodes
可选,节点的数量
Tuple [int, int]
training
可选,如果设置为False,则该操作将无作用
bool
Output
Y
输出张量
tensor
sort_edge_index运算操作定义见表18。
表18 sort_edge_index运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
sort_edge_index
根据节点ID对边索引进行排序
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵
tensor
num_nodes
可选,节点的数量
int
sort_by_row
可选,如果设置为True,则按源节点ID对边索引排序,否则将按目标节点ID排序
bool
Output
Y
输出张量
tensor
add_self_loops运算操作定义见表19。
T/AI 115.3—2024
12
表19 add_self_loops运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
add_self_loops
为每个节点添加自环,如果是加权图,则将添加自环并且根据fill_value添加边权重
Input
edge_index
边索引,和g二选一
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵;如关键字包含g,则删除该项
tensor
g
输入图,和edge_index二选一
Graph
fill_value
可选,在edge_weight不为空的情况下,该值会用来填充边权重
tensor
float
string
num_nodes
可选,节点数量
int
allow_duplicate
可选,如果设置为False,则会先去除所有自环以避免重复的自环
bool
Output
edge_index
输出边索引,和g二选一
tensor
SparseTensor
edge_weight
输出边权重,如输出g,则删除该项
tensor
g
输出图,和edge_index二选一
Graph
remove_self_loops运算操作定义见表20。
表20 remove_self_loops运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
remove_self_loops
删除图中的每个自环
Input
edge_index
边索引,和g二选一
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵;如关键字包含g,则删除该项
tensor
g
输入图,和edge_index二选一
Graph
Output
edge_index
输出边索引,和g二选一
tensor
SparseTensor
T/AI 115.3—2024
13
表20 remove_self_loops运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
remove_self_loops
删除图中的每个自环
Output
edge_weight
输出边权重或者多维边特征矩阵,如输出g,则删除该项
Tensor
g
输出图,和edge_index二选一
Graph
segregate_self_loops运算操作定义见表21。
表21 segregate_self_loops运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
segregate_self_loops
从图中分离出自环
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵
tensor
Output
edge_index
无自环边索引
tensor
SparseTensor
edge_weight
无自环边特征矩阵
tensor
loop_edge_index
自环边索引
tensor
SparseTensor
loop_edge_weight
自环边特征矩阵
tensor
add_remain_self_loops运算操作定义见表22。
表22 add_remain_self_loops运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
add_remain_self_loops
将自环添加到没有自环的节点上,如果图被加权,则将添加自环的同时根据fill_value添加自环的权重
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵
tensor
fill_value
可选,在edge_weight不为空的情况下,该值会用来填充边权重
float
tensor
string
num_nodes
可选,节点数量
int
Output
edge_index
边索引输出
tensor
SparseTensor
edge_weight
边权重矩阵或者多维边特征矩阵输出
tensor
T/AI 115.3—2024
14
contains_isolated_nodes运算操作定义见表23。
表23 contains_isolated_nodes运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
contains_isolated_nodes
判断图中是否含有孤立的节点
Input
edge_index
边索引
tensor
SparseTensor
num_nodes
可选,节点数量
int
Output
has
是否含有孤立的节点
bool
remove_isolated_nodes运算操作定义见表24。
表24 remove_isolated_nodes运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
remove_isolated_nodes
删除图中孤立的节点
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重或者边特征矩阵
tensor
num_nodes
可选,节点数量
int
Output
edge_index
邻接矩阵输出
tensor
SparseTensor
edge_weight
边权重或者边特征矩阵输出
tensor
mask
孤立节点的掩码
tensor
subgraph运算操作定义见表25。
表25 subgraph运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
subgraph
提取节点编号为subset的子图
Input
subset
保留的节点编号
tensor
List [int]
edge_index
边索引,和g二选一
tensor
SparseTensor
edge_weight
可选,边权重矩阵或者多维边特征矩阵;如关键字包含g,则删除该项
tensor
g
输入图,和edge_index二选一
Graph
T/AI 115.3—2024
15
表25 subgraph运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
subgraph
提取节点编号为subset的子图
Input
relabel_nodes
可选,如果设置为True,则得到的子图节点编号将变为从零开始的连续索引
Bool
num_nodes
可选,节点数量
int
return_edge_mask
可选,如果设置为True,将返回用于过滤多余的边特征的掩码
bool
Output
edge_index
输出边索引,和g二选一
tensor
SparseTensor
edge_weight
输出边权重或者多维边特征矩阵,如输出g,则删除该项
tensor
g
输出图,和edge_index二选一
Graph
edge_mask
可选,输出边特征的掩码,如输出g,则删除该项
tensor
k_hop_subgraph运算操作定义见表26。
表26 k_hop_subgraph运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
k_hop_subgraph
计算k跳子图
Input
node_idx
中心节点编号
tensor
List [int]
int
num_hops
跳数
int
edge_index
边索引,和g二选一
tensor
SparseTensor
relabel_nodes
可选,如果设置为True,则得到的子图节点编号将变为从零开始的连续索引
bool
g
输入图,和edge_index二选一
Graph
num_nodes
可选,节点数量
int
T/AI 115.3—2024
16
表26 k_hop_subgraph运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
k_hop_subgraph
计算k跳子图
Input
flow
可选,k跳聚合的流向,可选"source_to_target"或"target_to_source"
string
directed
可选,若设置为False,则会包括被采样到节点间所有的有向边
bool
Output
subset
子图中涉及的节点编号,如输出g,则删除该项
tensor
edge_index
输出边索引,和g二选一
tensor
SparseTensor
mapping
从节点索引到其新位置的映射
tensor
g
输出图,和edge_index二选一
Graph
edge_mask
边掩码,指示边的保留情况,如输出g,则删除该项
tensor
get_laplacian运算操作定义见表27。
表27 get_laplacian运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
get_laplacian
计算出图的拉普拉斯矩阵
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
可选,边权重矩阵
tensor
normalization
可选,拉普拉斯归一化方法
string
num_nodes
可选,节点数量
int
Output
edge_index
拉普拉斯矩阵对应的边索引
tensor
SparseTensor
edge_weight
拉普拉斯矩阵边权重矩阵输出
tensor
to_dense_batch运算操作定义见表28。
T/AI 115.3—2024
17
表28 to_dense_batch运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
to_dense_batch
将批量图上的节点特征转换为各个子图上稠密的节点特征
Input
X
节点特征矩阵
tensor
batch
可选,每一个节点所属批次
tensor
fill_value
可选,填充输出节点缺失的特征
float
max_num_nodes
可选,各个批次最大节点数目
Int
batch_size
可选,批量大小
int
Output
Y
稠密节点特征矩阵
tensor
mask
节点掩码,指示哪些节点存在
tensor
to_dense_adj运算操作定义见表29。
表29 to_dense_adj运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
to_dense_adj
将稀疏批量边索引张量转换为稠密张量
Input
edge_index
边索引
tensor
SparseTensor
batch
可选,批向量,将每个节点分配一个批量
tensor
edge_weight
可选,边权重或者边特征矩阵
tensor
max_num_nodes
可选,各个批次最大节点数目
int
batch_size
可选,批量大小
int
Output
adj
稠密的批量邻接矩阵输出
tensor
to_sparse运算操作定义见表30。
表30 to_sparse运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
to_sparse
将稠密的批量邻接矩阵转换为稀疏表示
Input
adj
稠密邻接矩阵
tensor
mask
可选,描述节点的保留情况
tensor
Output
edge_index
稀疏边索引输出
tensor
SparseTensor
edge_weight
边权重或者边特征矩阵输出
tensor
T/AI 115.3—2024
18
normalized_cut运算操作定义见表31。
表31 normalized_cut运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
normalized_cut
计算加权图的归一化分割
Input
edge_index
边索引
tensor
SparseTensor
edge_weight
边权重或者边特征矩阵
tensor
num_nodes
可选,节点的数量
int
Output
cut
图的归一化分割
tensor
SparseTensor
grid运算操作定义见表32。
表32 grid运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
grid
返回给定宽高的网格图的边索引以及节点位置矩阵
Input
height
网格图的高
int
width
网格图的宽
int
Output
edge_index
网格图边索引
tensor
SparseTensor
pos
网格图节点位置矩阵
tensor
softmax_nodes运算操作定义见表33。
表33 softmax_nodes运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
softmax_nodes
对节点特征执行softmax计算
Input
g
输入图,和X二选一
Graph
HeteroGraph
X
输入的节点特征,和graph二选一
tensor
node_type
可选,节点类型
string
Output
Y
归一化后的节点特征
tensor
softmax_edges运算操作定义见表34。
表34 softmax_edges运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
softmax_edges
对边特征执行softmax计算
Input
g
输入图,和X二选一
Graph
HeteroGraph
edge_weight
输入的边特征,和graph二选一
tensor
edge_type
可选,边类型
string
T/AI 115.3—2024
19
表34 softmax_edges运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
softmax_edges
对边特征执行softmax计算
Output
edge_weight
归一化后的边特征
Tensor
broadcast_nodes运算操作定义见表35。
表35 broadcast_nodes运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
broadcast_nodes
将图级特征广播到节点级表示
Input
g
输入图
Graph
HeteroGraph
feature
输入的图级表示
tensor
node_type
节点类型
string
Output
Y
节点特征
tensor
broadcast_edges运算操作定义见表36。
表36 broadcast_edges运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
broadcast_edges
将图级特征广播到边级表示
Input
g
输入图
Graph
HeteroGraph
feature
输入的图级表示
tensor
edge_type
边类型
string
Output
edge_weight
边特征
tensor
graph_partition运算操作定义见表37。
表37 graph_partition运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
graph_partition
将图划分成若干分片
Input
g
输入图数据
Graph
HeteroGraph
num_part
分片个数
int
part_method
分片策略
string
Output
Y
输出图数据的列表
Dict [Graph]
Dict [HeteroGraph]
fps运算操作定义见表38。
表38 fps运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
fps
一种用于点云数据采样的运算符
Input
X
节点特征矩阵
tensor
batch
可选,每一个样本点所属批次
tensor
T/AI 115.3—2024
20
表38 fps运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
fps
一种用于点云数据采样的运算符
Input
ratio
可选,采样率
Float
random_start
可选,是否采用第一个节点作为起始节点
bool
batch_size
可选,批量大小
int
Output
Y
输出张量
tensor
graclus运算操作定义见表39。
表39 graclus运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
graclus
一种贪婪聚类运算符,该算法选择未标记的节点并将其与未标记的节点之一匹配
Input
edge_index
边索引,和g二选一
tensor
SparseTensor
g
输入图,和edge_index二选一
Graph
relabel_idx
如果设置为True,将节点编号重新映射成连续的编号
bool
edge_weight
可选,边权重矩阵,如关键字包含g,则删除该项
tensor
num_nodes
可选,节点数目,如输出g,则删除该项
int
Output
Y
输出节点编号
tensor
knn运算操作定义见表40。
表40 knn运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
knn
用于为y中的每个元素查找x中的k个最近邻的运算符
Input
X
测试样本点坐标的集合
tensor
Y
训练样本点坐标的集合
tensor
k
选取训练样本点的数目
int
batch_x
可选,X样本点的所属批次
tensor
batch_y
可选,Y样本点的所属批次
tensor
cosine
可选,是否采用余弦距离
bool
num_workers
可选,并发数目
int
batch_size
可选,批量大小
int
T/AI 115.3—2024
21
表40 knn运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
knn
用于为y中的每个元素查找x中的k个最近邻的运算符
Output
Z
输出张量,表示选出的最近邻
tensor
knn_graph运算操作定义见表41。
表41 knn_graph运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
knn_graph
用于构建样本点满足k近邻的图
Input
X
点坐标集合
tensor
k
近邻大小
int
batch
可选,批量向量,用于将每个节点分配给一个特定样本
tensor
dist
可选,采用的距离函数
string
batch_size
可选,批量大小
int
algorithm
可选,采用的算法
string
Output
g
满足要求的k近邻图
Graph
nearest运算操作定义见表42。
表42 nearest运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
nearest
用于为y中每个元素,在x中查找距离最近的元素的运算符
Input
X
测试样本点坐标的集合
tensor
Y
训练样本点坐标的集合
tensor
batch_x
可选,X样本点的所属批次
tensor
batch_y
可选,Y样本点的所属批次
tensor
Output
Z
输出张量,表示聚类结果
tensor
radius运算操作定义见表43。
表43 radius运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
radius
用于为y中的每个元素找到x中距离不超过r的所有点的搜索运算符
Input
X
测试样本点坐标的集合
tensor
Y
训练样本点坐标的集合
tensor
T/AI 115.3—2024
22
表43 radius运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
radius
用于为y中的每个元素找到x中距离不超过r的所有点的搜索运算符
Input
r
距离半径
Float
batch_x
可选,X样本点的所属批次
tensor
batch_y
可选,Y样本点的所属批次
tensor
max_num_neighbors
可选,y中的每个元素返回的最大邻居数
int
num_workers
可选,并发数目
int
batch_size
可选,批量大小
int
Output
Z
输出张量,表示半径内搜索结果
tensor
radius_graph运算操作定义见表44。
表44 radius_graph运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
radius_graph
构建距离在一定半径内的图
Input
X
点坐标集合
tensor
r
距离大小
float
p
可选,距离计算范数
float
self_loop
可选,构建的图是否包含自环
bool
compute_mode
可选,计算模式
string
get_distances
可选,是否返回构建的图对应边的距离
bool
Output
g
满足距离半径在r之内的图
Graph
voxel_grid运算操作定义见表45。
表45 voxel_grid运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
voxel_grid
利用在点云上覆盖规则网格并进行聚类的体素网格池化运算符
Input
pos
输入张量,节点位置矩阵
tensor
batch
每一个样本点所属批次
tensor
size
每个体素(voxel)的尺寸
float,
tensor
List [float]
start
可选,每个维度中网格的起始坐标
float,
tensor
List [float]
T/AI 115.3—2024
23
表45 voxel_grid运算操作定义(续)
运算操作
描述
字段
关键字
定义
数据类型
voxel_grid
利用在点云上覆盖规则网格并进行聚类的体素网格池化运算符
Input
end
可选,每个维度中网格的结束坐标
float,
tensor
List [float]
Output
Y
输出张量
tensor
dropNode运算操作定义见表46。
表46 dropNode运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
dropNode
使用来自伯努利分布的样本,以概率p从图节点中随机丢弃某些节点出发的所有边
Input
edge_index
边索引
SparseTensor
X
节点特征
tensor
p
可选,丢弃概率
float
drop_num_nodes
可选,丢弃的节点个数
int
Output
edge_index
边索引输出
SparseTensor
Y
节点特征输出
tensor
dropFeature运算操作定义见表47。
表47 dropFeature运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
dropFeature
使用来自伯努利分布的样本,以概率p从图节点中随机丢弃所有节点某些维度的特征元素
Input
edge_index
边索引
SparseTensor
X
节点特征
tensor
p
可选,丢弃概率
float
drop_num_elements
可选,丢弃节点特征元素的列数
int
Output
edge_index
边索引输出
SparseTensor
Y
节点特征输出
tensor
dropMessage运算操作定义见表48。
T/AI 115.3—2024
24
表48 dropMessage运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
dropMessage
使用来自伯努利分布的样本,以概率p从图节点中随机丢弃节点发出消息中的元素
Input
edge_index
边索引
SparseTensor
X
节点特征
tensor
edge_attr
可选,边权重矩阵或者多维边特征矩阵
tensor
p
可选,丢弃概率
float
drop_num
可选,丢弃节点发出的消息元素的个数
int
Output
edge_index
边索引输出
SparseTensor
Y
节点特征输出
tensor
dropGraph运算操作定义见表49。
表49 dropGraph运算操作定义
运算操作
描述
字段
关键字
定义
数据类型
dropGraph
使用来自伯努利分布的样本,以概率p从图节点中随机丢弃某些节点及其Q阶邻居节点,并引入注意力机制,让被网络关注的区域具有更大的被丢弃的概率
Input
Edge_index
边索引
SparseTensor
X
节点特征
tensor
Keep_prob
保持节点不被丢弃的概率
float
Q
邻居节点范围
int
Output
Y
节点特征输出
tensor
6.4 图基本任务 图神经网络的下游任务按任务形式与监督形式进行划分。
a)
按任务形式划分
按任务形式,图神经网络的下游任务划分为节点级别任务、边级别任务和图级别任务。
节点级别任务分为:节点分类、节点回归、节点聚类等。节点分类是指对于给定的图中的节点,将其划分为某类别或标签;节点回归是指对给定图中的节点进行数值预测,用于预测节点的属性值;节点聚类是指将图中的节点划分为不同的群组或簇。
边级别任务分为:边分类、边回归、链接预测等。边分类是指对于给定的图中的边,将其划分为某类别或标签;边回归是指对给定图中的边进行数值预测,以预测边上的属性值或边的权重等信息;链接预测是指预测图中尚未出现但潜在存在的边。
图级别分为:图分类、图回归、图匹配、图生成等。图分类是指将给定的图划分为某类别或标签;图回归是指预测图的某些连续性目标变量;图匹配是指对给定的一对图进行相似度评估或匹配;图生成是指模型生成图对象实例,使其满足符合要求的某些特定性质。
b)
按监督形式划分
按监督形式,图神经网络的下游任务分为:监督训练、半监督训练、无监督训练三种形式。
监督训练是指每一个参与训练的样本对象都有对应的标记标签。
T/AI 115.3—2024
25
半监督训练是指仅有部分参与训练的样本对象有对应的标记标签。在测试阶段,直推式学习配置方式让图神经网络预测已经在训练阶段给出的未标记样本的标签值;归纳式学习配置方式让图神经网络预测未在训练阶段见过的全新样本。
无监督训练是指参与训练的样本没有来自外部的标记标签,模型寻找样本对象的内在模式,将其转化为监督信号来指导模型训练。预训练策略是使用图神经网络来学习样本对象的向量化表示,向量化表示应表征样本对象在图上的内在性质。
7 图神经网络模型
7.1 模型结构
7.1.1 计算图定义
计算图(Computational Graph)定义见表50。
表50 计算图定义
字段
类型
定义
node
NodeDef [repeated]
计算图中所有操作节点的列表
versions
Version
计算图的兼容性版本信息
library
FunctionDefLibrary
提供用户定义函数的库
debug_info
GraphDebugInfo
包含计算图节点的调试信息
7.1.1.1 操作节点定义
操作节点定义(NodeDef)见表51。
表51 操作节点定义
字段
类型
定义
name
string
操作节点的唯一标识名
op
string
操作节点的操作类型
input
string [repeated]
操作节点的输入列表
device
string
操作节点所在的设备
attr
map<string, DataType>
操作节点属性的键值对
7.1.1.2 版本定义
版本定义(Version)见表52。
表52 版本定义
字段
类型
定义
producer
int32
生成这个数据的代码的版本
min_consumer
int32
任何低于此版本的消费者不允许使用这个数据
bad_consumers
int32 [repeated]
不允许使用这个数据的特定消费者版本(通常由于bug)
7.1.1.3 函数库定义
函数定义库(FunctionDefLibrary)见表53。
T/AI 115.3—2024
26
表53 函数库定义
字段
类型
定义
function
FunctionDef [repeated]
函数定义的集合
gradient
GradientDef [repeated]
每个函数的梯度函数定义
registered_gradients
RegisteredGradient [repeated]
注册在函数库中使用的梯度函数
函数定义(FunctionDef)见表54。
表54 函数定义
字段
类型
定义
signature
OpDef
函数的签名,包括函数名称、参数、返回值、属性等信息
attr
map<string, DataType>
特定于此函数定义的属性
arg_attr
map<uint32, map<string, DataType>>
函数参数的属性
resource_arg_unique_id
map<uint32, uint32>
每个资源参数的唯一标识符
node_def
NodeDef [repeated]
函数体中的节点定义
ret
map<string, string>
函数的返回值与函数体中节点输出的映射
control_ret
map<string, string>
函数的控制输出与函数体中节点名称的映射
函数签操作定义(OpDef)见表55。
表55 函数签名操作定义
字段
类型
定义
name
string
操作的名称,以大写字母开头,符合特定的正则表达式规则
input_arg
string [repeated]
输入参数的描述列表
output_arg
string [repeated]
输出参数的描述列表
control_output
string [repeated]
命名控制输出的列表,用于复合操作
attr
string [repeated]
图构建时配置的描述,即NodeDef中将指定的属性字段
summary
string
操作的简略可读描述
description
string
操作的详细可读描述
is_commutative
bool
指示操作是否是可交换的
is_aggregate
bool
指示操作是否是聚合操作
is_stateful
bool
指示操作是否是有状态的
allows_uninitialized_input
bool
指示操作是否允许未初始化输入
is_distributed_communication
bool
指示操作实现是否使用分布式通信
梯度定义(GradientDef)见表56。
表56 梯度定义
字段
类型
定义
function_name
string
定义梯度函数的函数名称
gradient_func
string
对应的梯度函数名称
T/AI 115.3—2024
27
注册梯度定义(RegisteredGradient)见表57。
表57 注册梯度定义
字段
类型
定义
gradient_func
string
梯度函数的名称
registered_op_type
string
梯度函数注册的操作类型
7.1.1.4 计算图调试信息
计算图调试信息定义(GraphDebugInfo)见表58。
表58 计算图调试信息定义
字段
类型
定义
files
string [repeated]
所有源代码文件的名称列表,可通过file_index索引
frames_by_id
map<fixed64, FileLineCol>
按唯一标识符索引的帧到文件行列信息的映射
traces_by_id
map<fixed64, StackTrace>
按唯一标识符索引的栈追踪信息的映射
name_to_trace_id
map<string, fixed64>
将节点名称映射到traces_by_id中包含的跟踪ID
文件行列定义(FileLineCol)见表59。
表59 文件行列定义
字段
类型
定义
file_index
int32
文件名的索引,用于从files字符串列表中检索具体文件名
line
int32
在文件中的行号
col
int3

收藏本站 | 热门资料 | 联系我们 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图