class_docstr: GLUE benchmark model, using Keras/TF2 and Huggingface Transformers.
  
  This is a general-purpose classification or regression model. It works for
  one- or two-segment input, and predicts either a multiclass label or
  a regression score. See GlueModelConfig for available options.
  
  This implements the LIT API for inference (e.g. input_spec(), output_spec(),
  and predict()), but also provides a train() method to run fine-tuning.
  
  This is a full-featured implementation, which includes embeddings, attention,
  gradients, as well as support for the different input and output types above.
  For a more minimal example, see ../simple_tf2_demo.py.
class_docstr_tok: ["GLUE","benchmark","model",",","using","Keras\/TF2","and","Huggingface","Transformers",".","This","is","a","general-purpose","classification","or","regression","model",".","It","works","for","one-","or","two-segment","input",",","and","predicts","either","a","multiclass","label","or","a","regression","score",".","See","GlueModelConfig","for","available","options",".","This","implements","the","LIT","API","for","inference","(","e.g",".","input_spec","(",")",",","output_spec","(",")",",","and","predict","(",")",")",",","but","also","provides","a","train","(",")","method","to","run","fine-tuning",".","This","is","a","full-featured","implementation",",","which","includes","embeddings",",","attention",",","gradients",",","as","well","as","support","for","the","different","input","and","output","types","above",".","For","a","more","minimal","example",",","see","..","\/simple_tf2_demo.py","."]
docstr: Verify correct # of layer activations returned.
docstr_tok: ["Verify","correct","#","of","layer","activations","returned","."]
code: def _verify_num_layers(self, hidden_states: Sequence[Any]):
      """Verify correct # of layer activations returned."""
      # First entry is embeddings, then output from each transformer layer.
      expected_hidden_states_len = (
          self.model.config.num_hidden_layers + 1
      )
      actual_hidden_states_len = len(hidden_states)
      if actual_hidden_states_len != expected_hidden_states_len:
          raise ValueError(
              "Unexpected size of hidden_states. Should be one "
              "more than the number of hidden layers to account "
              "for the embeddings. Expected "
              f"{expected_hidden_states_len}, got "
              f"{actual_hidden_states_len}."
          )
  
imports: import os
  from collections.abc import Iterable, Sequence
  import re
  import threading
  from typing import Any, Optional
  import attr
  from lit_nlp.api import model
  from lit_nlp.api import types
  from lit_nlp.examples.models import model_utils
  from lit_nlp.lib import file_cache
  from lit_nlp.lib import utils
  import numpy
  import tensorflow
  import transformers
label_desc: Use image node_id 1 for calling the GlueModel obj's underlying member method code with example usage: obj._verify_num_layers(hidden_states) without return types