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 get_pretrained_vars(self) -> tuple[FrozenDict, FrozenDict]:
      params, model_state = {}, {}
      for i, encoder in enumerate(self.encoders):
          (
              params[f"encoders_{i}"],
              model_state[f"encoders_{i}"],
          ) = encoder.get_pretrained_vars()
      return flax.core.freeze(params), flax.core.freeze(model_state)
  
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 2 for calling the SequentialImageEncoder obj's underlying member method code with example usage: obj.get_pretrained_vars() and returns: flax,  flax