0

My question refers to the official implementation of CF-GNNExplainer on Github: https://github.com/a-lucic/cf-gnnexplainer

When the perturbed model is built, the first 2 ConvLayers are the newly created perturbed layers while the 3rd layer is a normal ConvLayer without perturbation.

Why is this layer not perturbed as well?

see code here: https://github.com/a-lucic/cf-gnnexplainer/blob/main/src/cf_explanation/gcn_perturb.py

Here is where the layers are defined:


self.gc1 = GraphConvolutionPerturb(nfeat, nhid)
self.gc2 = GraphConvolutionPerturb(nhid, nhid)
self.gc3 = GraphConvolution(nhid, nout)
self.lin = nn.Linear(nhid + nhid + nout, nclass)
self.dropout = dropout

I want to use different model architectures and wonder how I have to build the corresponding perturbed version.

0 Answers0