界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

self-supervised-learning

self-supervised-learning

【数据与研究】Use DIG's graph self-supervised learning stack for GraphCL, GRACE, InfoGraph, MVGRL, NodeMVGRL, pGRACE, contrastive objectives, and TUDataset/Planetoid-based SSL evaluation.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: self-supervised-learning description: "Use DIG's graph self-supervised learning stack for GraphCL, GRACE, InfoGraph, MVGRL, NodeMVGRL, pGRACE, contrastive objectives, and TUDataset/Planetoid-based SSL evaluation." disable-model-invocation: true metadata: disco-role: operating license: GPL 3.0

Self-Supervised Learning

Use this sub-skill for DIG workflows that pretrain graph encoders with contrastive or mutual-information objectives.

Include

  • dig.sslgraph.method: Contrastive, GraphCL, GRACE, InfoGraph, MVGRL, NodeMVGRL, pGRACE.
  • dig.sslgraph.method.contrastive.views_fn: NodeAttrMask, EdgePerturbation, Diffusion, DiffusionWithSample, UniformSample, RWSample, RandomView, Sequential, AdaEdgePerturbation, AdaNodeAttrMask.
  • dig.sslgraph.method.contrastive.objectives: NCE_loss, JSE_loss.
  • dig.sslgraph.dataset: TUDatasetExt, get_dataset, get_node_dataset.
  • dig.sslgraph.evaluation: GraphSemisupervised, GraphUnsupervised, NodeUnsupervised.
  • dig.sslgraph.utils: Encoder, setup_seed.

Exclude

  • 2D/3D molecule generation: use the molecular or 3D sub-skills.
  • Explainability, OOD, augmentation, fairness, or large-scale loaders: route to sibling sub-skills.

Start Here

  • Read references/api-reference.md for the constructor and objective names.
  • Read references/workflows.md for graph-level and node-level SSL workflows.
  • Read references/troubleshooting.md when augmentations, labels, or datasets are misconfigured.
  • Run scripts/sslgraph_smoke.py for a tiny CPU-only pretraining smoke check.

Core Workflows

  • Graph-level SSL: use get_dataset(..., task='semisupervised'|'unsupervised'), build an Encoder, choose GraphCL/GRACE/InfoGraph/MVGRL, pretrain, and evaluate with GraphUnsupervised or GraphSemisupervised.
  • Node-level SSL: use get_node_dataset, build node-level encoders, choose GRACE or NodeMVGRL, and evaluate with NodeUnsupervised.
  • Custom contrastive design: compose view functions such as NodeAttrMask, EdgePerturbation, Diffusion, or RandomView and pass them into Contrastive directly.

Quick Validation

python scripts/sslgraph_smoke.py --help
python scripts/sslgraph_smoke.py
我的收藏