pyg-team/pytorch_geometric

Graph Neural Network Library for PyTorch

PyTorch Geometric (PyG)

何であるか – PyTorch の上に構築された Python ライブラリで、グラフニューラルネットワーク(GNN)の開発と学習を簡単にします。数十種類の GNN レイヤーの事前実装、グラフデータの読み込みとバッチ処理のユーティリティ、および大規模・異種・動的グラフのサポートを提供します。

なぜ重要か – グラフ構造データは、ソーシャルネットワーク、引用ネットワーク、分子、3Dメッシュ、レコメンデーションシステムなど、多くの分野に登場します。PyG は、わずか数行のコードで最先端の GNN モデルをこれらの問題に適用でき、カスタムレイヤーの作成にも完全な柔軟性を提供します。

主な機能(README に記載)

  • 統一的で PyTorch に似た API – 既に知っている PyTorch のテンソル中心のワークフロー。最小限の例は約 20 行で収まります。
  • 多数のモデルカタログ – GCN、GAT、GraphSAGE、GIN、RGCN など 40 以上の公開された GNN レイヤーと、高レベルモデルが既に実装済み。
  • スケーラブルなデータ処理 – ミニバッチローダー、サンプリング戦略、数百万ノードを持つグラフのマルチGPUサポート。
  • 拡張性MessagePassing 基底クラスを継承することでカスタムレイヤーを構築可能。README には EdgeConv の完全な例が示されています。
  • 現代的な PyTorch との統合torch.compile、TorchScript、および pyg-lib CUDA カーネルによる高速なスパース演算に対応。
  • 豊富なエコシステム – ベンチマークデータセット、メッシュ/ポイントクラウド用の変換、チュートリアル、Colab ノートブック、外部リソースへのリンクを含む。

一般的なワークフロー(クイックツアー抜粋)

  1. データセットを読み込む。例:Planetoid を使って Cora 引用グラフを読み込む。
  2. 提供されたレイヤー(例:GCNConv)をスタックしてモデルを定義する。
  3. 標準的な PyTorch オプティマイザループで学習する。
  4. ノード分類やその他のグラフタスクで評価する。

誰が使うべきか – 新しい GNN アイデアを実験する機械学習研究者、プロダクション対応の GNN ツールボックスが必要なデータサイエンティスト、既に PyTorch を使っているがグラフ機能を追加したい人。

README からのリンク

  • ドキュメント: https://pytorch-geometric.readthedocs.io
  • 論文: PyG 1.0 (arXiv:1903.02428) と PyG 2.0 (arXiv:2507.16991)
  • Colab ノートブック、Slack コミュニティ、ベンチマーク例(OGB など)

上記のすべての情報はリポジトリの README から直接取得したものであり、追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch