dgl

Par mkurman · zorai

Deep Graph Library (DGL) — framework de réseaux de neurones sur graphes. GCN, GAT, GraphSAGE, RGCN et passage de messages personnalisé. Graphes hétérogènes, graphes temporels et entraînement à grande échelle avec échantillonnage par mini-batch.

npx skills add https://github.com/mkurman/zorai --skill dgl

Aperçu

Deep Graph Library (DGL) fournit des implémentations de réseaux de neurones graphiques : GCN, GAT, GraphSAGE, GIN, RGCN, et passage de messages personnalisé. Prend en charge les graphes hétérogènes, les graphes temporels, l'entraînement en mini-batch, et l'échantillonnage distribué pour l'apprentissage sur graphes à grande échelle.

Installation

uv pip install dgl

GCN pour la classification de nœuds

import torch
import torch.nn.functional as F
from dgl.nn import GraphConv

class GCN(torch.nn.Module):
    def __init__(self, in_feats, hidden, out_feats):
        super().__init__()
        self.conv1 = GraphConv(in_feats, hidden)
        self.conv2 = GraphConv(hidden, out_feats)

    def forward(self, g, features):
        x = F.relu(self.conv1(g, features))
        x = self.conv2(g, x)
        return F.log_softmax(x, dim=1)

Entraînement en mini-batch

sampler = dgl.dataloading.NeighborSampler([10, 10])
train_dataloader = dgl.dataloading.DataLoader(
    g, train_nids, sampler,
    batch_size=1024, shuffle=True, num_workers=4)

Références

Skills similaires