JuliaGraphs/GraphNeuralNetworks.jl

Graph Neural Networks in Julia

What it solves

它提供了一套用于在 Julia 语言中对图结构化数据进行深度学习的库,允许用户使用 Flux.jl 和 Lux.jl 等热门的深度学习框架来构建和训练图神经网络 (GNNs)。

How it works

该项目组织成几个专门的包:

  • GraphNeuralNetworks.jlGNNLux.jl 分别作为 Flux 和 Lux 用户的 primary 界面。
  • GNNGraphs.jl 处理底层的图数据结构和辅助函数。
  • GNNlib.jl 实现核心的消息传递框架,使用 gather/scatter 机制或稀疏矩阵乘法。

Who it’s for

想要使用图卷积层在节点、边或图级别实现机器学习任务的 Julia 研究人员和开发者。

Highlights

  • 支持常见的图卷积层和自定义层定义。
  • 能够对批次图 (batched graphs)、异质图 (heterogeneous graphs) 和动态图 (dynamical graphs) 进行计算。
  • 通过 CUDA 和 AMDGPU 进行硬件加速。
  • 与 Graphs.jl 生态系统集成。