GraphSage模型cora数据集
生活随笔
收集整理的這篇文章主要介紹了
GraphSage模型cora数据集
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
創(chuàng)建GraphSage模型:
input_size=1433 out_size=128 num_layers=2 agg_func='MEAN' raw_features:原始特征,維度2708 * 1433 adj_lists:所有邊的連接,格式是:562: {60, 252, 370, 440, 671, 1117, 1183, 1401, 1889, 2014, 2018}, sage_layer1:SageLayer sage_layer2:SageLayer(layer_size=128,out_size=128)第一層sage_layer1:
input_size=1433 out_size=128 weight:權(quán)重參數(shù),并初始化,維度128 * (1433*2)=128 * 2866第二層sage_layer2:
input_size=128 out_size=128 weight:權(quán)重參數(shù),并初始化,維度128 * (128*2)=128 * 256創(chuàng)建Classification模型:
self.layer=全連接層 weight:權(quán)重參數(shù),并初始化,維度128 * 7進入GraphSage中的前向傳播forward:
第一批20個節(jié)點數(shù)據(jù) nodes_batch={1, 16, 131, 245, 439, 501, 527, 658, 699, 716, 944, 963, 1003, 1081, 1439, 1582, 1660, 1681, 2007, 2577}得到nodes_batch_layers,內(nèi)容如下:
接下來進行aggregation操作:
index=1 nb = 自己和鄰居節(jié)點list 共84個 pre_neighs = 這層節(jié)點的上層鄰居的所有信息,包括:聚合自己和鄰居節(jié)點,點的dict,涉及到的所有節(jié)點aggregation: 參數(shù):nodes,當(dāng)前節(jié)點list 84個 參數(shù):pre_hidden_embs,數(shù)據(jù)特征,維度:2708 * 1433 參數(shù):pre_neighs,上層鄰居的所有信息 embed_matrix:當(dāng)前304個節(jié)點的特征,304*1433 mask:構(gòu)建 84*304 的鄰接矩陣,并且進行歸一化mask=mask/mask.sum(dim=1), aggregate_feats:聚合鄰居特征,mask * embed_matrix ,生成維度84*1433 總結(jié):當(dāng)前節(jié)點84個,聚合了周圍304個鄰居節(jié)點的特征,對特征進行歸一化,生成特征維度84*1433sageLayer: 參數(shù):self_feats=原始特征 維度84*1433 參數(shù):aggregate_feats=聚合了304個鄰居的特征 維度84*1433 combined:將這兩個特征進行拼接,生成維度84*2866 F.relu(combined * W),進行激活函數(shù)生成維度84*128的特征返回特征 84*128index=2 nb=最初的20個節(jié)點 pre_neighs=這層節(jié)點的上層鄰居的所有信息,包括:聚合自己和鄰居節(jié)點,點的dict,涉及到的所有節(jié)點aggregation: 參數(shù):nodes,當(dāng)前節(jié)點list 20個 參數(shù):pre_hidden_embs,數(shù)據(jù)特征,維度:84*128 參數(shù):pre_neighs,上層鄰居的所有信息 embed_matrix:=pre_hidden_embs 利用上一層的節(jié)點特征,即84個節(jié)點的特征,84*128 mask:構(gòu)建 20*84 的鄰接矩陣,并且進行歸一化mask=mask/mask.sum(dim=1), aggregate_feats:聚合鄰居特征,mask * embed_matrix ,生成維度20*128 總結(jié):當(dāng)前節(jié)點20個,聚合了周圍84個鄰居節(jié)點的特征,(這84個鄰居節(jié)點特征是上一層計算得到的,因此維度是84*128,而不是84*1433),對特征進行歸一化,最終生成特征維度20*128sageLayer: 參數(shù):self_feats=原始特征 維度20*128 參數(shù):aggregate_feats=聚合了20個鄰居的特征 維度20*128 combined:將這兩個特征進行拼接,生成維度20*256 F.relu(combined * W),進行激活函數(shù)生成維度20*128的特征最終這20個節(jié)點返回特征 20*128接下來就要通過Classification模型進行計算,得到維度20 * 7
logists= tensor([[-1.9839, -1.9866, -2.0804, -1.9014, -1.8841, -1.7800, -2.0367],[-1.9142, -1.9110, -2.0967, -1.8599, -2.0505, -1.8341, -1.9832],[-1.9683, -1.9229, -1.9720, -1.9572, -1.9711, -1.8678, -1.9667],[-1.9209, -2.0136, -2.0654, -1.8666, -1.9862, -1.8006, -1.9937],[-2.0788, -2.0250, -1.9542, -1.8534, -1.8923, -1.8745, -1.9634],[-2.0361, -1.8748, -2.0676, -1.8287, -1.9016, -1.8289, -2.1284],[-2.0782, -1.8997, -1.9607, -1.9720, -1.9491, -1.9568, -1.8227],[-2.0626, -1.8991, -2.0198, -1.8183, -1.9802, -1.8021, -2.0779],[-1.9372, -1.8791, -1.9737, -1.9121, -1.9777, -1.8976, -2.0547],[-2.0668, -1.9538, -1.9821, -1.8051, -2.0310, -1.8033, -2.0139],[-2.0350, -1.9644, -1.9913, -1.8626, -1.9652, -1.8815, -1.9324],[-2.0077, -1.8961, -2.0062, -2.0043, -1.8142, -1.8510, -2.0695],[-1.9880, -1.9198, -1.9179, -1.8831, -1.9339, -2.0266, -1.9590],[-2.0564, -1.9405, -1.9988, -1.8407, -1.8986, -1.9623, -1.9384],[-2.0603, -1.9230, -1.9647, -1.8786, -1.9230, -1.9342, -1.9470],[-2.0483, -1.9780, -2.0290, -1.9329, -1.8557, -1.8542, -1.9407],[-1.9123, -1.9745, -1.9420, -1.9195, -1.9199, -1.9526, -2.0038],[-2.0144, -1.9391, -1.9132, -1.8205, -1.9620, -1.9279, -2.0622],[-2.1094, -1.7795, -2.0029, -1.8137, -2.0519, -1.8241, -2.1027],[-2.0052, -1.9684, -2.0337, -1.8064, -1.9325, -1.8070, -2.1065]],loss_sup = -torch.sum(logists[range(logists.size(0)), labels_batch], 0) 根據(jù)label獲取對應(yīng)的loss值求和 = tensor([-1.9839, -1.8599, -1.9683, -2.0654, -1.8745, -1.8748, -1.9607, -1.8183,-1.9777, -1.9538, -1.8815, -2.0043, -1.9179, -2.0564, -1.9470, -1.9329,-1.9123, -1.8205, -1.7795, -1.8064], grad_fn=<IndexBackward>)loss_sup /= len(nodes_batch) =1.9198這樣第一批數(shù)據(jù)的20個節(jié)點就計算完成了:
array([ 527, 1681, 439, 2007, 1439, 963, 699, 131, 1003, 1, 658,1660, 16, 716, 245, 2577, 501, 1582, 1081, 944]) Step [1/68], Loss: 1.9198, Dealed Nodes [20/1355]總結(jié)
以上是生活随笔為你收集整理的GraphSage模型cora数据集的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 配置jupyter远程访问
- 下一篇: 抖音商城主图分辨率多少