def METHOD_NAME(self, g, l_g):
    # add rbf features for each edge in one batch graph, [num_radial,]
    g = self.rbf_layer(g)
    # Embedding block
    g = self.emb_block(g)
    # Output block
    P = self.output_blocks[0](g)  # [batch_size, num_targets]
    # Prepare sbf feature before the following blocks
    for k, v in g.edata.items():
        l_g.ndata[k] = v
    l_g.apply_edges(self.edge_init)
    # Interaction blocks
    for i in range(self.num_blocks):
        g = self.interaction_blocks[i](g, l_g)
        P += self.output_blocks[i + 1](g)
    return P