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-libCUDA カーネルによる高速なスパース演算に対応。 - 豊富なエコシステム – ベンチマークデータセット、メッシュ/ポイントクラウド用の変換、チュートリアル、Colab ノートブック、外部リソースへのリンクを含む。
一般的なワークフロー(クイックツアー抜粋)
- データセットを読み込む。例:
Planetoidを使って Cora 引用グラフを読み込む。 - 提供されたレイヤー(例:
GCNConv)をスタックしてモデルを定義する。 - 標準的な PyTorch オプティマイザループで学習する。
- ノード分類やその他のグラフタスクで評価する。
誰が使うべきか – 新しい 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