code: def get_text_classifier(
      arch: callable,  # Function or class that can generate a language model architecture
      vocab_sz: int,  # Size of the vocabulary
      n_class: int,  # Number of classes
      seq_len: int = 72,  # Backpropagation through time
      config: dict = None,  # Encoder configuration dictionary
      drop_mult: float = 1.0,  # Multiplicative factor to scale all dropout probabilities in `config`
      lin_ftrs: list = None,  # List of hidden sizes for classifier head as `int`s
      ps: list = None,  # List of dropout probabilities for classifier head as `float`s
      pad_idx: int = 1,  # Padding token id
      max_len: int = 72
      * 20,  # Maximal output length for `SentenceEncoder`
      y_range: tuple = None,  # Tuple of (low, high) output value bounds
  ):
      "Create a text classifier from `arch` and its `config`, maybe `pretrained`"
      meta = _model_meta[arch]
      cfg = meta["config_clas"].copy()
      cfg.update(ifnone(config, {}))
      config = cfg
      for k in config.keys():
          if k.endswith("_p"):
              config[k] *= drop_mult
      if lin_ftrs is None:
          lin_ftrs = [50]
      if ps is None:
          ps = [0.1] * len(lin_ftrs)
      layers = [config[meta["hid_name"]] * 3] + lin_ftrs + [n_class]
      ps = [config.pop("output_p")] + ps
      init = config.pop("init") if "init" in config else None
      encoder = SentenceEncoder(
          seq_len,
          arch(vocab_sz, **config),
          pad_idx=pad_idx,
          max_len=max_len,
      )
      model = SequentialRNN(
          encoder,
          PoolingLinearClassifier(
              layers, ps, bptt=seq_len, y_range=y_range
          ),
      )
      return model if init is None else model.apply(init)
  
imports: from __future__ import annotations
  from ...data.all import *
  from ..core import *
  from .awdlstm import *
label_desc: Use image node_id 4 for calling a global function with example usage: get_text_classifier(arch, vocab_sz, n_class, seq_len, config, drop_mult, lin_ftrs, ps, pad_idx, max_len, y_range) and returns: unknown