def METHOD_NAME(self, layer, x, adj_t, state):
    if layer == 0:
        if self.drop_input:
            x = F.dropout(x, p=self.dropout, training=self.training)
        x = x_0 = self.lins[0](x).relu_()
        state['x_0'] = x_0
    x = F.dropout(x, p=self.dropout, training=self.training)
    h = self.convs[layer](x, state['x_0'], adj_t)
    if self.batch_norm:
        h = self.bns[layer](h)
    if self.residual and h.size(-1) == x.size(-1):
        h += x[:h.size(0)]
    x = h.relu_()
    if layer == self.num_layers - 1:
        x = F.dropout(x, p=self.dropout, training=self.training)
        x = self.lins[1](x)
    return 