code: def forward(self, x, cross, x_mask=None, cross_mask=None):
      x = x + self.dropout(
          self.self_attention(x, x, x, attn_mask=x_mask)[0]
      )
      x = self.norm1(x)
  
      x = x + self.dropout(
          self.cross_attention(x, cross, cross, attn_mask=cross_mask)[0]
      )
  
      y = x = self.norm2(x)
      y = self.dropout(self.activation(self.conv1(y.transpose(-1, 1))))
      y = self.dropout(self.conv2(y).transpose(-1, 1))
  
      return self.norm3(x + y)
  
file_path: merlion/merlion/models/utils/nn_modules/enc_dec_transformer.py
imports: import math
label_desc: Use image node_id 2 for calling the DecoderLayer obj's underlying member method code with example usage: obj.forward(x, cross, x_mask, cross_mask) and returns: self