简介
第三章见,这一部分很重要,总结完准备多实践
dgl.nn
模块是用户构建GNN模型的基本模块, 根据不同的dgl
后端, 该模块的父类也会继承自不同的类(如使用torch
, 自然就是继承torch.nn.Module
, 与torch
自定义层或网络是类似的), 于是其构造函数中的参数注册以及前向传播中使用的张量操作也与后端框架一样, 所以本质dgl
就可以视为一个插件可以直接嵌入到后端的深度学习库中, 非常便捷, 区别只在于dgl
定义了消息传递的操作框架;
详细的dgl.nn
模块内容可见https://docs.dgl.ai/api/python/nn.html , 常用的卷积层, 全连接层, 全局池化层以及一些工具函数都在当中定义;
本章将以torch
作为后端进行介绍, 以dgl.nn.pytorch.conv.SAGEConv
层的编写逻辑为例介绍自定义层的写法;