code: def build(self, input_shape=None):
      if self.built:
          return
      self.built = True
      if getattr(self, "wte", None) is not None:
          with tf.name_scope(self.wte.name):
              self.wte.build(None)
      if getattr(self, "wpe", None) is not None:
          with tf.name_scope(self.wpe.name):
              self.wpe.build(None)
      if getattr(self, "ln_f", None) is not None:
          with tf.name_scope(self.ln_f.name):
              self.ln_f.build([None, None, self.embed_dim])
      if getattr(self, "h", None) is not None:
          for layer in self.h:
              with tf.name_scope(layer.name):
                  layer.build(None)
  
imports: from __future__ import annotations
  from dataclasses import dataclass
  from typing import List, Optional, Tuple, Union
  import numpy
  import tensorflow
  from ...activations_tf import get_tf_activation
  from ...modeling_tf_outputs import TFBaseModelOutputWithPastAndCrossAttentions, TFCausalLMOutputWithCrossAttentions, TFSequenceClassifierOutputWithPast
  from ...modeling_tf_utils import TFCausalLanguageModelingLoss, TFConv1D, TFModelInputType, TFPreTrainedModel, TFSequenceClassificationLoss, TFSequenceSummary, get_initializer, keras_serializable, unpack_inputs
  from ...tf_utils import check_embeddings_within_bounds, shape_list, stable_softmax
  from ...utils import ModelOutput, add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings
  from .configuration_gpt2 import GPT2Config
label_desc: Use image node_id 6 for calling the TFGPT2MainLayer obj's underlying member method code with example usage: obj.build(input_shape) without return types