前提・実現したいこと
グラフのエッジの特徴量を学習に利用するにはどのようなネットワークの設定にすればいいか教えてほしいです。
こちらのDGL公式のグラフ分類のチュートリアルをやっているのですが、ソースコード中ではノードの特徴量のみを利用しているように思います。
これにエッジの特徴量も利用するにはどこを修正すればよいでしょうか。
発生している問題・エラーメッセージ
エッジの特徴量を利用する書き方がわからないです。
該当のソースコード
python
1class GCN(nn.Module): 2 def __init__(self, in_feats, h_feats, num_classes): 3 super(GCN, self).__init__() 4 self.conv1 = GraphConv(in_feats, h_feats) 5 self.conv2 = GraphConv(h_feats, num_classes) 6 7 def forward(self, g, in_feat): 8 h = self.conv1(g, in_feat) 9 h = F.relu(h) 10 h = self.conv2(g, h) 11 g.ndata['h'] = h 12 return dgl.mean_nodes(g, 'h')
試したこと
GraphConv()
の引数にweight=Trueと書いてみたり、h = self.conv1(g, in_feat,edge_weight = edge_weight)
と書いてmodelにグラフを入力する際に一緒にエッジの特徴量を入力したりしました。
補足情報(FW/ツールのバージョンなど)
Python 3.8.8
dgl-cu101 0.7.0
torch 1.7.1+cu101
あなたの回答
tips
プレビュー