Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PGL
提交
a59997c1
P
PGL
项目概览
PaddlePaddle
/
PGL
通知
76
Star
4
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
11
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PGL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
11
Issue
11
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a59997c1
编写于
5月 20, 2020
作者:
H
Huang Zhengjie
提交者:
GitHub
5月 20, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.zh.md; Fixed formula display
上级
e6d422d0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
2 addition
and
2 deletion
+2
-2
README.zh.md
README.zh.md
+2
-2
未找到文件。
README.zh.md
浏览文件 @
a59997c1
...
@@ -29,11 +29,11 @@ Paddle Graph Learning (PGL)是一个基于[PaddlePaddle](https://github.com/Padd
...
@@ -29,11 +29,11 @@ Paddle Graph Learning (PGL)是一个基于[PaddlePaddle](https://github.com/Padd
# 特色:高效性——支持Scatter-Gather及LodTensor消息传递
# 特色:高效性——支持Scatter-Gather及LodTensor消息传递
对比于一般的模型,图神经网络模型最大的优势在于它利用了节点与节点之间连接的信息。但是,如何通过代码来实现建模这些节点连接十分的麻烦。PGL采用与
[
DGL
](
https://github.com/dmlc/dgl
)
相似的
**消息传递范式**
用于作为构建图神经网络的接口。用于只需要简单的编写
```send```
还有
```recv```
函数就能够轻松的实现一个简单的GCN网络。如下图所示,首先,send函数被定义在节点之间的边上,用户自定义send函数!
[](
http://latex.codecogs.com/gif.latex?\\phi^e
}
)
会把消息从源点发送到目标节点。然后,recv函数!
[](
http://latex.codecogs.com/gif.latex?\\phi^v}
)
负责将这些消息用汇聚函数 !
[](
http://latex.codecogs.com/gif.latex?\\oplus}
)
汇聚起来。
对比于一般的模型,图神经网络模型最大的优势在于它利用了节点与节点之间连接的信息。但是,如何通过代码来实现建模这些节点连接十分的麻烦。PGL采用与
[
DGL
](
https://github.com/dmlc/dgl
)
相似的
**消息传递范式**
用于作为构建图神经网络的接口。用于只需要简单的编写
```send```
还有
```recv```
函数就能够轻松的实现一个简单的GCN网络。如下图所示,首先,send函数被定义在节点之间的边上,用户自定义send函数!
[](
http://latex.codecogs.com/gif.latex?\\phi^e
)
会把消息从源点发送到目标节点。然后,recv函数!
[](
http://latex.codecogs.com/gif.latex?\\phi^v
)
负责将这些消息用汇聚函数 !
[](
http://latex.codecogs.com/gif.latex?\\oplus
)
汇聚起来。
<img
src=
"./docs/source/_static/message_passing_paradigm.png"
alt=
"The basic idea of message passing paradigm"
width=
"800"
>
<img
src=
"./docs/source/_static/message_passing_paradigm.png"
alt=
"The basic idea of message passing paradigm"
width=
"800"
>
如下面左图所示,为了去适配用户定义的汇聚函数,DGL使用了Degree Bucketing来将相同度的节点组合在一个块,然后将汇聚函数!
[](
http://latex.codecogs.com/gif.latex?\\oplus
}
)
作用在每个块之上。而对于PGL的用户定义汇聚函数,我们则将消息以PaddlePaddle的
[
LodTensor
](
http://www.paddlepaddle.org/documentation/docs/en/1.4/user_guides/howto/basic_concept/lod_tensor_en.html
)
的形式处理,将若干消息看作一组变长的序列,然后利用
**LodTensor在PaddlePaddle的特性进行快速平行的消息聚合**
。
如下面左图所示,为了去适配用户定义的汇聚函数,DGL使用了Degree Bucketing来将相同度的节点组合在一个块,然后将汇聚函数!
[](
http://latex.codecogs.com/gif.latex?\\oplus
)
作用在每个块之上。而对于PGL的用户定义汇聚函数,我们则将消息以PaddlePaddle的
[
LodTensor
](
http://www.paddlepaddle.org/documentation/docs/en/1.4/user_guides/howto/basic_concept/lod_tensor_en.html
)
的形式处理,将若干消息看作一组变长的序列,然后利用
**LodTensor在PaddlePaddle的特性进行快速平行的消息聚合**
。
<img
src=
"./docs/source/_static/parallel_degree_bucketing.png"
alt=
"The parallel degree bucketing of PGL"
width=
"800"
>
<img
src=
"./docs/source/_static/parallel_degree_bucketing.png"
alt=
"The parallel degree bucketing of PGL"
width=
"800"
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录