class_docstr: TFTrainer is a simple but feature-complete training and eval loop for TensorFlow, optimized for 🤗 Transformers.
  
  Args:
      model ([`TFPreTrainedModel`]):
          The model to train, evaluate or use for predictions.
      args ([`TFTrainingArguments`]):
          The arguments to tweak training.
      train_dataset ([`~tf.data.Dataset`], *optional*):
          The dataset to use for training. The dataset should yield tuples of `(features, labels)` where `features`
          is a dict of input features and `labels` is the labels. If `labels` is a tensor, the loss is calculated by
          the model by calling `model(features, labels=labels)`. If `labels` is a dict, such as when using a
          QuestionAnswering head model with multiple targets, the loss is instead calculated by calling
          `model(features, **labels)`.
      eval_dataset ([`~tf.data.Dataset`], *optional*):
          The dataset to use for evaluation. The dataset should yield tuples of `(features, labels)` where `features`
          is a dict of input features and `labels` is the labels. If `labels` is a tensor, the loss is calculated by
          the model by calling `model(features, labels=labels)`. If `labels` is a dict, such as when using a
          QuestionAnswering head model with multiple targets, the loss is instead calculated by calling
          `model(features, **labels)`.
      compute_metrics (`Callable[[EvalPrediction], Dict]`, *optional*):
          The function that will be used to compute metrics at evaluation. Must take a [`EvalPrediction`] and return
          a dictionary string to metric values.
      tb_writer (`tf.summary.SummaryWriter`, *optional*):
          Object to write to TensorBoard.
      optimizers (`Tuple[tf.keras.optimizers.Optimizer, tf.keras.optimizers.schedules.LearningRateSchedule]`, *optional*):
          A tuple containing the optimizer and the scheduler to use. The optimizer default to an instance of
          [`tf.keras.optimizers.Adam`] if `args.weight_decay_rate` is 0 else an instance of [`AdamWeightDecay`]. The
          scheduler will default to an instance of [`tf.keras.optimizers.schedules.PolynomialDecay`] if
          `args.num_warmup_steps` is 0 else an instance of [`WarmUp`].
docstr: Setup the optional Weights & Biases (`wandb`) integration.
  
  One can subclass and override this method to customize the setup if needed. Find more information `here
  <https://docs.wandb.com/huggingface>`__. You can also override the following environment variables:
  
  Environment:
      WANDB_PROJECT:
          (Optional): str - "huggingface" by default, set this to a custom string to store results in a different
          project.
      WANDB_DISABLED:
          (Optional): boolean - defaults to false, set to "true" to disable wandb entirely.
docstr_tok: ["Setup","the","optional","Weights","&","Biases","(","`","wandb","`",")","integration",".","One","can","subclass","and","override","this","method","to","customize","the","setup","if","needed",".","Find","more","information","`","here","<","https",":","\/\/docs.wandb.com\/huggingface",">","`","__",".","You","can","also","override","the","following","environment","variables",":","Environment",":","WANDB_PROJECT",":","(","Optional",")",":","str","-","``","huggingface","''","by","default",",","set","this","to","a","custom","string","to","store","results","in","a","different","project",".","WANDB_DISABLED",":","(","Optional",")",":","boolean","-","defaults","to","false",",","set","to","``","true","''","to","disable","wandb","entirely","."]
code: def setup_wandb(self):
      """
      Setup the optional Weights & Biases (`wandb`) integration.
  
      One can subclass and override this method to customize the setup if needed. Find more information `here
      <https://docs.wandb.com/huggingface>`__. You can also override the following environment variables:
  
      Environment:
          WANDB_PROJECT:
              (Optional): str - "huggingface" by default, set this to a custom string to store results in a different
              project.
          WANDB_DISABLED:
              (Optional): boolean - defaults to false, set to "true" to disable wandb entirely.
      """
  
      logger.info(
          'Automatic Weights & Biases logging enabled, to disable set os.environ["WANDB_DISABLED"] = "true"'
      )
      combined_dict = {
          **self.model.config.to_dict(),
          **self.args.to_sanitized_dict(),
      }
      wandb.init(
          project=os.getenv("WANDB_PROJECT", "huggingface"),
          config=combined_dict,
          name=self.args.run_name,
      )
  
imports: import datetime
  import math
  import os
  import warnings
  from typing import Callable, Dict, Optional, Tuple
  from .utils import ENV_VARS_TRUE_VALUES
  from .integrations import is_comet_available, is_wandb_available
  import numpy
  import tensorflow
  from tensorflow.python.distribute.values import PerReplica
  from .modeling_tf_utils import TFPreTrainedModel
  from .optimization_tf import GradientAccumulator, create_optimizer
  from .trainer_utils import PREFIX_CHECKPOINT_DIR, EvalPrediction, IntervalStrategy, PredictionOutput, enable_full_determinism, set_seed
  from .training_args_tf import TFTrainingArguments
  from .utils import logging
label_desc: Use image node_id 6 for calling the TFTrainer obj's underlying member method code with example usage: obj.setup_wandb() without return types