Hey,

a newbie question here: I’m trying to define a simple GAT network for batched graph classification using the GATConv module from DGL:

```
class GATClassifier(nn.Module):
def __init__(self, in_dim, out_dim, n_heads, n_classes):
super(GATClassifier, self).__init__()
# Add GATConv layers
self.gat_1 = GATConv(in_feats=in_dim, out_feats=out_dim,
num_heads=n_heads)
self.gat_2 = GATConv(in_feats=out_dim, out_feats=out_dim,
num_heads=n_heads)
# Add linear classifier
self.classify = nn.Linear(out_dim, n_classes)
def forward(self, g, features):
x = features
x = self.gat_1(g, x)
x = self.gat_2(g, x)
g.ndata['h'] = x
hg = dgl.mean_nodes(g, 'h')
return self.classify(hg)
```

This returns the following error message:

```
dgl._ffi.base.DGLError: Expect number of features to match number of nodes (len(u)). Got 406 and 203 instead.
```

Each node in my batched graph has a 9-dimensional feature vector, hence the input size is 9 x 203.

What am I doing wrong?