PyG中允许我们自定义异构消息传递函数 message() 和更新函数 update(),使得用户可以定义异构网络模型,在PyG中 to_hetero() 函数可以将同构网络模型转化为可以处理异构图数据的异构网络模型,但是这种只能够对所有边缘类型使用相同的消息传递机制,存在一定局限性。
所以为了实现为不同的边缘类型定义不同的消息传递机制,就需要使用到 HeteroConv 这个模块,这个模块可以为不同的边缘类型定义不同的消息传递机制,它是子模块字典作为输入,代码示例:
conv = HeteroConv({('paper', 'cites', 'paper'): GCNConv(-