class_docstr: Like `nn.Sequential` but for `ImageEncoder`.
  
  One difference with `nn.Sequential` is that `train` and `debug` args are
  passed to each encoder.
class_docstr_tok: ["Like","`","nn.Sequential","`","but","for","`","ImageEncoder","`",".","One","difference","with","`","nn.Sequential","`","is","that","`","train","`","and","`","debug","`","args","are","passed","to","each","encoder","."]
code: def __call__(
      self,
      image: jnp.ndarray,
      *,
      train: bool = False,
      debug: bool = False,
  ) -> jnp.ndarray:
      if not self.encoders:
          raise ValueError(
              f"Empty SequentialEncoder module {self.name}."
          )
  
      outputs = image
      for encoder in self.encoders:
          outputs = encoder(outputs, train=train, debug=debug)
      return outputs
  
file_path: scenic/scenic/projects/lang4video/model/sequential.py
imports: from collections.abc import Sequence
  from typing import Optional
  import flax
  from flax.core.frozen_dict import FrozenDict
  import flax.linen
  import jax.numpy
  from scenic.projects.lang4video.model.base_encoders import ImageEncoder
  from scenic.projects.lang4video.model.base_encoders import TextEncoder
label_desc: Use image node_id 1 for calling the SequentialImageEncoder obj's underlying member method code with example usage: obj.__call__(image) and returns: outputs