图神经网络构建代码

所需积分/C币:9 2019-03-04 13:36:22 119KB ZIP
81
收藏 收藏
举报

# GPF ## 一、GPF(Graph Processing Flow):利用图神经网络处理问题的一般化流程 1、图节点预表示:利用NE框架,直接获得全图每个节点的Embedding;<br> 2、正负样本采样:(1)单节点样本;(2)节点对样本;<br> 3、抽取封闭子图:可做类化处理,建立一种通用图数据结构;<br> 4、子图特征融合:预表示、节点特征、全局特征、边特征;<br> 5、网络配置:可以是图输入、图输出的网络;也可以是图输入,分类/聚类结果输出的网络;<br> 6、训练和测试;<br> ## 二、主要文件: 1、graph.py:读入图数据;<br> 2、embeddings.py:预表示学习;<br> 3、sample.py:采样;<br> 4、subgraphs.py/s2vGraph.py:抽取子图;<br> 5、batchgraph.py:子图特征融合;<br> 6、classifier.py:网络配置;<br> 7、parameters.py/until.py:参数配置/帮助文件;<br> ## 三、使用 1、在parameters.py中配置相关参数(可默认);<br> 2、在example/文件夹中运行相应的案例文件--包括链接预测、节点状态预测;<br> 以链接预测为例:<br> ### 1、导入配置参数 ```from parameters import parser, cmd_embed, cmd_opt``` ### 2、参数转换 ``` args = parser.parse_args() args.cuda = not args.noCuda and torch.cuda.is_available() torch.manual_seed(args.seed) if args.cuda: torch.cuda.manual_seed(args.seed) if args.hop != 'auto': args.hop = int(args.hop) if args.maxNodesPerHop is not None: args.maxNodesPerHop = int(args.maxNodesPerHop) ``` ### 3、读取数据 ``` g = graph.Graph() g.read_edgelist(filename=args.dataName, weighted=args.weighted, directed=args.directed) g.read_node_status(filename=args.labelName) ``` ### 4、获取全图节点的Embedding ``` embed_args = cmd_embed.parse_args() embeddings = embeddings.learn_embeddings(g, embed_args) node_information = embeddings #print node_information ``` ### 5、正负节点采样 ``` train, train_status, test, test_status = sample.sample_single(g, args.testRatio, max_train_num=args.maxTrainNum) ``` ### 6、抽取节点对的封闭子图 ``` net = until.nxG_to_mat(g) #print net train_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))) ``` ### 7、加载网络模型,并在classifier中配置相关参数 ``` cmd_args = cmd_opt.parse_args() cmd_args.feat_dim = max_n_label + 1 cmd_args.attr_dim = node_information.shape[1] cmd_args.latent_dim = [int(x) for x in cmd_args.latent_dim.split('-')] if len(cmd_args.latent_dim)

...展开详情
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
最新推荐