已經接觸GNN有一段時間了,但認真看過的論文只有GCN和GAT,代碼也是這一部分的pytorch實現,現在不夠用了,因為我需要變長的圖,pytorch的dataloader不對齊不能用,所以只好另想它法,決定學習使用GNN專用庫geometric,它的優點是速度快,方便使用。那么接下來一周左右,我將集中學習這個庫的實戰,以及爭取抓緊把之前買的GNN課程看完(因為快過期了!),然后開心的粗去玩耍~~~因為之后到年底都要閉關學習啦~
1. 安裝geometric及各依賴包,我python3.6
會出錯,所以直接上成功版步驟:https://www.cnblogs.com/yqpy/p/13498200.html
先確保torch版本是1.4.0 升級看:https://blog.csdn.net/Songyongchao1995/article/details/111186931
我的環境是Linux
CUDA=cu101
pip install torch-scatter==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html
pip install torch-sparse==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html
pip install torch-spline-conv==latest+${CUDA} -f https://pytorch-geometric.com/whl/torch-1.4.0.html
pip install torch-cluster==1.5.5
pip install torch-geometric==1.7.2
還看到一個博客記錄:https://blog.csdn.net/u014714362/article/details/108614868,沒試過。
其實可以直接到官網上下載符合條件的版本到本地,pip安裝即可:https://pytorch-geometric.com/whl/
如果pytorch版本在1.8.0以上,可以按照官方給出的Quick Start一鍵安裝:https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html
2. 教程積累(不斷更新):
(1)https://pytorch-geometric.readthedocs.io/en/latest/
3. 初識
github地址:https://github.com/rusty1s/pytorch_geometric
pytorch-geometric (PyG) 包含很多經典GNN模型,依托pytorch可以快速上手,它的邏輯架構有4部分:
底層Engine依托pytorch的稀疏張量處理工具torch_scatter和torch_sparse,分別是進行數據修改和數據壓縮的。
Storage負責數據處理、轉換和加載多線程
Operators負責一些使用GNN的必要功能組件,可以合并和應用GNN的各個部分,從而保證可以實現多種多樣的GNN
最終上層提供了很多GNN模型,有經典論文中的模型,也支持自定義的模型。
今天效率不高,先到這里吧,明天開始攻略官方文檔!