I printed the graph before conversion to heterograph and seems like node and edge attributes are missing.

Here’s the DGLGraph

DGLGraph(num_nodes=2238, num_edges=7264,

ndata_schemes={‘node_attributes’: Scheme(shape=(64,), dtype=torch.float64)}

edata_schemes={‘edge_attributes’: Scheme(shape=(64,), dtype=torch.float64)})

And here’s the graph after conversion to Heterograph

```
Graph(num_nodes=2238, num_edges=7264,
ndata_schemes={}
edata_schemes={})
```

I fixed this ndata_schemes problem.

Is the following conversion from DGLGraph to DGLHeterograph erroneous?

subgraph1, feats, labels1 = data1

print(subgraph1)

nxg = subgraph1.to_networkx(node_attrs=[‘node_attributes’], edge_attrs=[‘edge_attributes’])

subgraph = dgl.graph(nxg)

subgraph.ndata[‘node_attributes’] = feats

subgraph.edata[‘edge_attributes’] = subgraph1.edata[‘edge_attributes’]

print(subgraph)

Now the output of converted graph looks like

Graph(num_nodes=2238, num_edges=7264,

ndata_schemes={‘node_attributes’: Scheme(shape=(64,), dtype=torch.float64)}

edata_schemes={‘edge_attributes’: Scheme(shape=(64,), dtype=torch.float64)})

However, after all this, I still get the fc_src error

AttributeError: ‘GATConv’ object has no attribute ‘fc_src’