一个高效且友好的TensorFlow图神经网络(GNN)框架:tf_geometric
本文已加入 🚀 Python AI 計(jì)劃,從一個(gè)Python小白到一個(gè)AI大神,你所需要的所有知識(shí)都在 這里 了。
本文定位是:圖神經(jīng)網(wǎng)絡(luò)(GNN)教程,后續(xù)實(shí)戰(zhàn)案例文章將加入 《深度學(xué)習(xí)100例》
tf_geometric 是一個(gè)高效且友好的圖神經(jīng)網(wǎng)絡(luò)庫(kù),同時(shí)支持TensorFlow 1.x 和 2.x。
受到 usty1s/pytorch_geometric 項(xiàng)目的啟發(fā),我們?yōu)門ensorFlow構(gòu)建了一個(gè)圖神經(jīng)網(wǎng)絡(luò)(GNN)庫(kù)。
tf_geometric 同時(shí)提供面向?qū)ο蠼涌?#xff08;OOP API)和函數(shù)式接口(Functional API),你可以用它們來(lái)構(gòu)建有趣的模型。
-
Github主頁(yè): https://github.com/CrawlScript/tf_geometric
-
論文: Efficient Graph Deep Learning in TensorFlow with tf_geometric
高效且友好的API
tf_geometric使用消息傳遞機(jī)制來(lái)實(shí)現(xiàn)圖神經(jīng)網(wǎng)絡(luò):相比于基于稠密矩陣的實(shí)現(xiàn),它具有更高的效率;相比于基于稀疏矩陣的實(shí)現(xiàn),它具有更友好的API。
除此之外,tf_geometric還為復(fù)雜的圖神經(jīng)網(wǎng)絡(luò)操作提供了簡(jiǎn)易優(yōu)雅的API。
下面的示例展現(xiàn)了使用tf_geometric構(gòu)建一個(gè)圖結(jié)構(gòu)的數(shù)據(jù),并使用多頭圖注意力網(wǎng)絡(luò)(Multi-head GAT)對(duì)圖數(shù)據(jù)進(jìn)行處理的流程:
輸出:
Graph Desc:Graph Shape: x => (5, 20) edge_index => (2, 4) y => NoneProcessed Graph Desc:Graph Shape: x => (5, 20) edge_index => (2, 8) y => NoneProcessed Edge Index:[[0 0 1 1 1 2 2 3][1 2 0 2 3 0 1 1]]Output of GAT:tf.Tensor([[0.22443159 0. 0.58263206 0.32468423][0.29810357 0. 0.19403605 0.35630274][0.18071976 0. 0.58263206 0.32468423][0.36123228 0. 0.88897204 0.450244 ][0. 0. 0.8013462 0. ]], shape=(5, 4), dtype=float32)入門教程
教程列表
- 安裝
- 環(huán)境要求與依賴庫(kù)
- 使用pip一鍵安裝tf_geometric及依賴
- 快速入門
- 使用簡(jiǎn)單示例快速入門
- 面向?qū)ο蠼涌?#xff08;OOP API)和函數(shù)式接口(Functional API)
使用示例進(jìn)行快速入門
強(qiáng)烈建議您通過(guò)下面的示例代碼來(lái)快速入門tf_geometric:
節(jié)點(diǎn)分類
- 圖卷積網(wǎng)絡(luò) Graph Convolutional Network (GCN)
- 多頭圖注意力網(wǎng)絡(luò) Multi-head Graph Attention Network (GAT)
- Approximate Personalized Propagation of Neural Predictions (APPNP)
- Inductive Representation Learning on Large Graphs (GraphSAGE)
- 切比雪夫網(wǎng)絡(luò) Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering (ChebyNet)
- Simple Graph Convolution (SGC)
- Topology Adaptive Graph Convolutional Network (TAGCN)
- Deep Graph Infomax (DGI)
- DropEdge: Towards Deep Graph Convolutional Networks on Node Classification (DropEdge)
- 基于圖卷積網(wǎng)絡(luò)的文本分類 Graph Convolutional Networks for Text Classification (TextGCN)
- Simple Spectral Graph Convolution (SSGC/S^2GC)
圖分類
- 平均池化 MeanPooling
- Graph Isomorphism Network (GIN)
- 自注意力圖池化 Self-Attention Graph Pooling (SAGPooling)
- 可微池化 Hierarchical Graph Representation Learning with Differentiable Pooling (DiffPool)
- Order Matters: Sequence to Sequence for Sets (Set2Set)
- ASAP: Adaptive Structure Aware Pooling for Learning Hierarchical Graph Representations (ASAP)
- An End-to-End Deep Learning Architecture for Graph Classification (SortPool)
- 最小割池化 Spectral Clustering with Graph Neural Networks for Graph Pooling (MinCutPool)
鏈接預(yù)測(cè)
- 圖自編碼器 Graph Auto-Encoder (GAE)
保存和載入模型
- 模型保存和載入
- 使用tf.train.Checkpoint進(jìn)行模型保存和載入
分布式訓(xùn)練
- 分布式圖卷積網(wǎng)絡(luò)(節(jié)點(diǎn)分類)
- 分布式平均池化(圖分類)
稀疏
- 稀疏節(jié)點(diǎn)特征
API列表
- tf_geometric
- Graph (Data Structure for a Single Graph)
- BatchGraph (Data Structure for a Batch of Graphs)
- tf_geometric.datasets
- Planetoid
- tf_geometric.layers (OOP API)
- tf_geometric.nn (Functional API)
申明: 本文中部分文字、案例源于官網(wǎng),將在后期的更新中不斷豐富文中內(nèi)容以及本文鏈接所指向的相關(guān)文章,如果侵犯了您的權(quán)益,可以聯(lián)系我微.信(mtyjkh_)。
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的一个高效且友好的TensorFlow图神经网络(GNN)框架:tf_geometric的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为云IoT提出泛在新联接,让万物皆可联
- 下一篇: tf_geometric的安装