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 Comet.ml integration.
  
  Environment:
      COMET_MODE:
          (Optional): str - "OFFLINE", "ONLINE", or "DISABLED"
      COMET_PROJECT_NAME:
          (Optional): str - Comet.ml project name for experiments
      COMET_OFFLINE_DIRECTORY:
          (Optional): str - folder to use for saving offline experiments when `COMET_MODE` is "OFFLINE"
  
  For a number of configurable items in the environment, see `here
  <https://www.comet.ml/docs/python-sdk/advanced/#comet-configuration-variables>`__
docstr_tok: ["Setup","the","optional","Comet.ml","integration",".","Environment",":","COMET_MODE",":","(","Optional",")",":","str","-","``","OFFLINE","''",",","``","ONLINE","''",",","or","``","DISABLED","''","COMET_PROJECT_NAME",":","(","Optional",")",":","str","-","Comet.ml","project","name","for","experiments","COMET_OFFLINE_DIRECTORY",":","(","Optional",")",":","str","-","folder","to","use","for","saving","offline","experiments","when","`","COMET_MODE","`","is","``","OFFLINE","''","For","a","number","of","configurable","items","in","the","environment",",","see","`","here","<","https",":","\/\/www.comet.ml\/docs\/python-sdk\/advanced\/","#","comet-configuration-variables",">","`","__"]
code: def setup_comet(self):
      """
      Setup the optional Comet.ml integration.
  
      Environment:
          COMET_MODE:
              (Optional): str - "OFFLINE", "ONLINE", or "DISABLED"
          COMET_PROJECT_NAME:
              (Optional): str - Comet.ml project name for experiments
          COMET_OFFLINE_DIRECTORY:
              (Optional): str - folder to use for saving offline experiments when `COMET_MODE` is "OFFLINE"
  
      For a number of configurable items in the environment, see `here
      <https://www.comet.ml/docs/python-sdk/advanced/#comet-configuration-variables>`__
      """
      comet_mode = os.getenv("COMET_MODE", "ONLINE").upper()
      args = {
          "project_name": os.getenv("COMET_PROJECT_NAME", "huggingface")
      }
      experiment = None
      if comet_mode == "ONLINE":
          experiment = comet_ml.Experiment(**args)
          logger.info("Automatic Comet.ml online logging enabled")
      elif comet_mode == "OFFLINE":
          args["offline_directory"] = os.getenv(
              "COMET_OFFLINE_DIRECTORY", "./"
          )
          experiment = comet_ml.OfflineExperiment(**args)
          logger.info(
              "Automatic Comet.ml offline logging enabled; use `comet upload` when finished"
          )
      if experiment is not None:
          experiment._set_model_graph(
              self.model, framework="transformers"
          )
          experiment._log_parameters(
              self.args, prefix="args/", framework="transformers"
          )
          experiment._log_parameters(
              self.model.config,
              prefix="config/",
              framework="transformers",
          )
  
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 7 for calling the TFTrainer obj's underlying member method code with example usage: obj.setup_comet() without return types