#GPF##一、GPF(GraphProcessingFlow):行使图神经收集处置下场的普通化流程一、图节点预展现:行使NE框架,直接患上到全图每一个节点的Embedding;二、正负样本采样:(1)单节点样本;
(2)节点对于样本;
三、抽取封锁子图:可做类化处置,建树一种通用图数据结构;四、子图特色领悟:预展现、节点特色、全局特色、边特色;五、收集配置配备枚举:可所以图输入、图输入的收集;
也可所以图输入,分类/聚类下场输入的收集;六、熬炼以及测试;##二、首要文件:一、graph.py:读入图数据;二、embeddings.py:预展现学习;三、sample.py:采样;四、subgraphs.py/s2vGraph.py:抽取子图;五、batchgraph.py:子图特色领悟;六、classifier.py:收集配置配备枚举;七、parameters.py/until.py:参数配置配备枚举/帮手文件;##三、使用一、在parameters.py中配置配备枚举相关参数(可默许);
二、在example/文件夹中运行响应的案例文件--搜罗链接料想、节点外形料想;
以链接料想为例:###一、导入配置配备枚举参数```fromparametersimportparser,cmd_embed,cmd_opt```###二、参数转换```args=parser.parse_args()args.cuda=notargs.noCudaandtorch.cuda.is_available()torch.manual_seed(args.seed)ifargs.cuda:torch.cuda.manual_seed(args.seed)ifargs.hop!='auto':args.hop=int(args.hop)ifargs.maxNodesPerHopisnotNone:args.maxNodesPerHop=int(args.maxNodesPerHop)```###三、读取数据```g=graph.Graph()g.read_edgelist(filename=args.dataName,weighted=args.weighted,directed=args.directed)g.read_node_status(filename=args.labelName)```###四、患上到全图节点的Embedding```embed_args=cmd_embed.parse_args()embeddings=embeddings.learn_embeddings(g,embed_args)node_information=embeddings#printnode_information```###五、正负节点采样```train,train_status,test,test_status=sample.sample_single(g,args.testRatio,max_train_num=args.maxTrainNum)```###六、抽取节点对于的封锁子图```net=until.nxG_to_mat(g)#printnettrain_graphs,test_graphs,max_n_label=subgraphs.singleSubgraphs(net,train,train_status,test,test_status,args.hop,args.maxNodesPerHop,node_information)print('#train:%d,#test:%d'%(len(train_graphs),len(test_graphs)))```###七、加载收集模子,并在classifier中配置配备枚举相关参数```cmd_args=cmd_opt.parse_args()cmd_args.feat_dim=max_n_label+1cmd_args.attr_dim=node_information.shape[1]cmd_args.latent_dim=[int(x)forxincmd_args.latent_dim.split('-')]iflen(cmd_args.latent_dim)
1