はじめに
Google ColabにPyTorch Geometricをインストールを試みましたが,一筋縄ではいきませんでした.いろいろ調べてみてもインストールする方法は書かれていなかったので,覚書として残しておきます.
Google Colaboratoryとは
Google Colaboratory(Google Colab, Colaboratoryとも)は,Googleが提供するクラウド上で実行できるJupyter Notebook環境です.なんといっても無料でTesla K80 GPUを使える点がすばらしい.研究機関や企業に属さない個人がGPUを利用したいときには最適な環境といえます.
使い方などは【秒速で無料GPUを使う】深層学習実践Tips on Colaboratoryに詳しくまとめられています.
PyTorch Geometricとは
PyTorch Geometric(PyG)は,PyTorchベースのGraph Neural Network系ライブラリです.GCNやGATをはじめとするGraph Neural Networkや,Node2vecなどのGraph Embedding手法の実装が提供されています.
PyTorch Geometricを利用するためには,torch-geometricのほかに4つのライブラリ(torch-scatter, torch-sparse, torch-cluster, torch-spline-conv)をインストールする必要があります.が,この4つのライブラリをインストールすることが悩みの種となりました.
インストール...できない
PyTorch scatterなど,PyTorch Geometric以外のライブラリがインストールできません.たとえばtorch-scatterをインストールしようとすると,このようなエラーメッセージが出てきます.
Collecting torch-scatter
Downloading https://files.pythonhosted.org/packages/30/d9/1d5fd4d183dabd9e0a1f7008ecf83318432359f4cc27480e3f2212f44d9c/torch_scatter-1.3.2.tar.gz
Building wheels for collected packages: torch-scatter
Building wheel for torch-scatter (setup.py) ... error
ERROR: Failed building wheel for torch-scatter
Running setup.py clean for torch-scatter
Failed to build torch-scatter
Installing collected packages: torch-scatter
Running setup.py install for torch-scatter ... error
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ttwepv79/torch-scatter/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ttwepv79/torch-scatter/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-e9z1yo5h/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.
なぜ?
どうやら原因として
- ハードウェアアクセラレータがGPUに設定されていない
- gcc,g++のバージョンが適切ではない
- CPATHが通っていない
の3点があげられます.
解決方法
1. 編集>ノートブックの設定>ハードウェアアクセラレータでGPUに変更
2. gcc, g++のversionを5にさげる.CPATHを通す.
!apt install gcc-5 g++-5 -y
!ln -sf /usr/bin/gcc-5 /usr/bin/gcc
!ln -sf /usr/bin/g++-5 /usr/bin/g++
!export CPATH=/usr/local/cuda/include:$CPATH
3. Pytorch Geometricと付随するライブラリをインストールする
!pip install torch-scatter
!pip install torch-sparse
!pip install torch-cluster
!pip install torch-spline-conv
!pip install torch-geometric
最後に
PyTorch GeometricがColab上で動くようにはなったけど...インストールに結構時間かかるなぁ…
以上です!