    def forward(
        self,
        x: torch.Tensor,
        y_emb: torch.Tensor,
        context: torch.Tensor = None,
    ):
        """
        Args:
            x: Latent representation inherited from previous residual block
                with the shape of [B x C x T].
            y_emb: Embeddings with the shape of [B x C], which will be FILM on the x.
            context: Context with the shape of [B x ``d_context`` x T], default to None.
        """

        h = x + y_emb[..., None]

        if self.context:
            h = self.gau(h, context)
        else:
            h = self.gau(h)

        h = self.out_proj(h)
        res, skip = h.chunk(2, 1)

        return (res + x) / math.sqrt(2.0), skip
Args:
x: Latent representation inherited from previous residual block
with the shape of [B x C x T].
y_emb: Embeddings with the shape of [B x C], which will be FILM on the x.
context: Context with the shape of [B x ``d_context`` x T], default to None.
modules/diffusion/bidilconv/residual_block.py