Deep Graph Library(DGL)に入門する

2020年2月27日

pytorchでDeep Graph Library(DGL)について学んだことの備忘録です。基本的には以下のドキュメンテーションの翻訳・要約・内容整理になります。振り返ったり新しく分かったことができたときに適宜修正するかもしれません。

https://docs.dgl.ai

DGLの概要

Deep Graph Libraryとは

Deep Graph Libraryは、既存の深層学習(ディープラーニング)フレームワークであるPyTorch、MXNetなどの上でグラフニューラルネットワークモデルを簡単に実装するためのpythonライブラリ。

DGLの機能

DGLは以下の機能を有する。

  • エッジとノードの設定などの低レベルの操作から、グラフ全体の機能更新などの高レベルの操作まで、汎用性の高い制御。
  • 自動バッチ処理とスパース行列乗算による計算速度の最適化。
  • 既存の深層学習フレームワークとのシームレスな統合。
  • ノード/エッジ/グラフ構造の操作のための簡単で使いやすいインターフェース。
  • 巨大グラフ(数千万の頂点を持つグラフ)への優れたスケーラビリティ。

サポートしているモデル

TBA

DGLのインストール方法

対応OSは以下の通り。
・Ubuntu 16.04
・macOS X
・Windows 10

以下のライブラリのバックエンドとしてサポートしている。
・Tensorflow
・PyTorch
・MXNet
・Gluon

DGLにはPythonバージョン3.5以降が必要です。3.4以前はテストされていません。また、DGLはCPUビルドとCUDAビルドに分離されているため、GPUを使用する場合はCUDAのバージョンに応じてインストールコマンドを変更する。

condaでのインストール方法はこちら
pipでのインストール方法はこちら

掲載済みチュートリアル

さまざまなドメインで10個のモデルのプロトタイプが作成されている。

  • グラフの半教師あり学習(潜在的に数十億のノード/エッジ)
  • グラフの生成モデル
  • TreeLSTMなどの並列化が困難なツリーベースのモデル

・DGL tutorial for GTC 2019
米国ワシントンで行われた NVIDIA の GPUテクノロジカンファレンス (GTC DC) での講演で使われたチュートリアル。