class_docstr: ### Sequential block for modules with different inputs
  
  This sequential module can compose of different modules such as `ResBlock`,
  `nn.Conv` and `SpatialTransformer` and calls them with the matching signatures
code: def forward(self, x, t_emb, cond=None):
      for layer in self:
          if isinstance(layer, ResBlock):
              x = layer(x, t_emb)
          elif isinstance(layer, SpatialTransformer):
              x = layer(x, cond)
          else:
              x = layer(x)
      return x
  
imports: import math
  from typing import List
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
  from labml_nn.diffusion.stable_diffusion.model.unet_attention import SpatialTransformer
label_desc: Use image node_id 1 for calling the TimestepEmbedSequential obj's underlying member method code with example usage: obj.forward(x, t_emb, cond) and returns: x