tf_geometric是一个高效且友好的图神经网络库,同时支持TesorFlow1.x和2.x。
受到rusty1s/pytorch_geometric项目的启发,我们为TesorFlow构建了一个图神经网络(GNN)库。 tf_geometric 同时提供面向对象接口(OOPAPI)和函数式接口(FuctioalAPI),你可以用它们来构建有趣的模型。Github主页: https://github.com/CrawlScript/tf_geometric开发文档: https://tf-geometric.readthedocs.io论文: EfficietGraphDeepLearigiTesorFlowwithtf_geometric高效且友好的APItf_geometric使用消息传递机制来实现图神经网络:相比于基于稠密矩阵的实现,它具有更高的效率;相比于基于稀疏矩阵的实现,它具有更友好的API。除此之外,tf_geometric还为复杂的图神经网络操作提供了简易优雅的API。下面的示例展现了使用tf_geometric构建一个图结构的数据,并使用多头图注意力网络(Multi-headGAT)对图数据进行处理的流程:
#codig=utf-8importumpyaspimporttf_geometricastfgimporttesorflowastfgraph=tfg.Graph(x=p.radom.rad(5,20),#5个节点,20维特征edge_idex=[[0,0,1,3],[1,2,2,1]]#4个无向边)prit("GraphDesc:\",graph)graph.covert_edge_to_directed()#预处理边数据,将无向边表示转换为有向边表示prit("ProcessedGraphDesc:\",graph)prit("ProcessedEdgeIdex:\",graph.edge_idex)#多头图注意力网络(Multi-headGAT)gat_layer=tfg.layers.GAT(uits=4,um_heads=4,activatio=tf..relu)output=gat_layer([graph.x,graph.edge_idex])prit("OutputofGAT:\",output)输出:
GraphDesc:GraphShape:x=>(5,20)edge_idex=>(2,4)y=>NoeProcessedGraphDesc:GraphShape:x=>(5,20)edge_idex=>(2,8)y=>NoeProcessedEdgeIdex:[[00111223][12023011]]OutputofGAT:tf.Tesor([[0.224431590.0.582632060.32468423][0.298103570.0.194036050.35630274][0.180719760.0.582632060.32468423][0.361232280.0.888972040.450244][0.0.0.80134620.]],shape=(5,4),dtype=float32)入门教程教程列表安装环境要求与依赖库使用pip一键安装tf_geometric及依赖快速入门使用简单示例快速入门面向对象接口(OOPAPI)和函数式接口(FuctioalAPI)使用示例进行快速入门强烈建议您通过下面的示例代码来快速入门tf_geometric:
节点分类图卷积网络GraphCovolutioalNetwork(GCN)多头图注意力网络Multi-headGraphAttetioNetwork(GAT)ApproximatePersoalizedPropagatioofNeuralPredictios(APPNP)IductiveRepresetatioLearigoLargeGraphs(GraphSAGE)切比雪夫网络CovolutioalNeuralNetworksoGraphswithFastLocalizedSpectralFilterig(ChebyNet)SimpleGraphCovolutio(SGC)TopologyAdaptiveGraphCovolutioalNetwork(TAGCN)DeepGraphIfomax(DGI)DropEdge:TowardsDeepGraphCovolutioalNetworksoNodeClassificatio(DropEdge)基于图卷积网络的文本分类GraphCovolutioalNetworksforTextClassificatio(TextGCN)图分类平均池化MeaPooligGraphIsomorphismNetwork(GIN)自注意力图池化Self-AttetioGraphPoolig(SAGPoolig)可微池化HierarchicalGraphRepresetatioLearigwithDifferetiablePoolig(DiffPool)OrderMatters:SequecetoSequeceforSets(Set2Set)ASAP:AdaptiveStructureAwarePooligforLearigHierarchicalGraphRepresetatios(ASAP)AEd-to-EdDeepLearigArchitectureforGraphClassificatio(SortPool)最小割池化SpectralClusterigwithGraphNeuralNetworksforGraphPoolig(MiCutPool)链接预测图自编码器GraphAuto-Ecoder(GAE)保存和载入模型模型保存和载入使用tf.trai.Checkpoit进行模型保存和载入分布式训练分布式图卷积网络(节点分类)分布式平均池化(图分类)引用如果您在科研出版物中使用了tf_geometric,欢迎引用下方的论文:
@misc{hu2021efficiet,title={EfficietGraphDeepLearigiTesorFlowwithtf_geometric},author={JuHuadShegshegQiaadQuaFagadYouzeWagadQuaZhaoadHuaiweZhagadChagshegXu},year={2021},eprit={2101.11552},archivePrefix={arXiv},primaryClass={cs.LG}}
评论