L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

gnn-modeling

gnn-modeling

Design, train, debug, and smoke-test PyTorch Geometric GNN modules with MessagePassing, common convolution layers, pooling, metrics, and compile/JIT-aware workflows.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: gnn-modeling description: "Design, train, debug, and smoke-test PyTorch Geometric GNN modules with MessagePassing, common convolution layers, pooling, metrics, and compile/JIT-aware workflows." disable-model-invocation: true metadata: disco-role: operating license: MIT

GNN Modeling

Use this sub-skill when building or troubleshooting PyTorch Geometric neural network modules: custom MessagePassing layers, homogeneous GNN stacks, graph-level pooling models, link prediction scorers, metrics, profiling, torch.compile, TorchScript/JIT migration, and tiny deterministic training checks.

Do not use this sub-skill for heterogeneous graph data modeling details, explainability configuration, distributed or multi-GPU training, dataset construction, or sampling-loader design. Route those to sibling sub-skills when present.

Start Here

  • Read references/modeling-api.md when selecting PyG neural network APIs, implementing a custom MessagePassing operator, choosing a convolution/pooling layer, or checking tensor contracts.
  • Read references/training-workflows.md when writing node classification, graph classification, link prediction, metric, profiling, torch.compile, or TorchScript-aware training loops.
  • Read references/troubleshooting.md when a model fails on edge_index, feature dimensions, cached convolutions, sparse optional extensions, dynamic compilation, or over-smoothing.
  • Run scripts/tiny_gcn_smoke.py --epochs 8 before or after editing model code to prove the installed PyG runtime can train a tiny synthetic GCN without downloads, GPUs, or external data.

Common Tasks

  • Build a homogeneous node model with GCNConv, GATConv, SAGEConv, or higher-level models such as GCN, GraphSAGE, GIN, then validate out.shape == [num_nodes, num_classes] for node classification.
  • Implement a custom layer by subclassing MessagePassing, calling super().__init__(aggr=...), validating edge_index as torch.long with shape [2, num_edges], and using propagate(edge_index, x=x, ...).
  • Add graph-level prediction by applying convolution layers to node features, then pooling with global_mean_pool, global_add_pool, or global_max_pool using the mini-batch batch vector.
  • Add link prediction by encoding nodes with a GNN, scoring endpoint embeddings, and evaluating ranking/classification metrics from torch_geometric.metrics where applicable.
  • Keep smoke tests tiny and deterministic: use synthetic Data, fixed seeds, CPU tensors, one or a few optimizer steps, and assertions on loss finiteness and tensor shapes.

Safe Validation

python scripts/tiny_gcn_smoke.py --epochs 8
python scripts/tiny_gcn_smoke.py --help

Expected output includes initial/final loss, predicted labels for a six-node synthetic graph, and tiny_gcn_smoke: ok.

Skills enregistrées