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 등 위에 그래프 신경망 모델을 간단하게 구현하기 위한 파이썬 라이브러리입니다.

DGL 기능

DGL은 다음과 같은 기능을 갖는다.

  • 에지 및 노드 설정과 같은 낮은 수준의 작업에서 전체 그래프 기능 업데이트와 같은 높은 수준의 작업에 이르기까지 다재다능한 제어.
  • 자동 배치 처리와 희소 행렬 곱셈에 의한 계산 속도 최적화.
  • 기존 심층 학습 프레임워크와의 원활한 통합.
  • 노드/에지/그래프 구조를 조작하기 위한 쉽고 사용하기 쉬운 인터페이스.
  • 거대 그래프(수천만의 정점을 가지는 그래프)에 대한 뛰어난 확장성.

지원되는 모델

TBA

DGL을 설치하는 방법

대응 OS는 이하와 같다.
· 우분투 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)에서의 강연에 사용된 튜토리얼.