docstr: Creates optimizers and schedulers.
  
  Args:
      trainer: the Trainer, these optimizers should be connected to
docstr_tok: ["Creates","optimizers","and","schedulers",".","Args",":","trainer",":","the","Trainer",",","these","optimizers","should","be","connected","to"]
code: def setup_optimizers(self, trainer: "pl.Trainer") -> None:
      """Creates optimizers and schedulers.
  
      Args:
          trainer: the Trainer, these optimizers should be connected to
  
      """
      if trainer.state.fn != TrainerFn.FITTING:
          return
      # Skip initializing optimizers here as DeepSpeed handles optimizers via config.
      # User may have specified config options instead in configure_optimizers, but this is handled
      # via `_initialize_deepspeed_train`
      # empty optimizers, schedulers
      self.optimizers = []
      self.lr_scheduler_configs = []
  
imports: import argparse
  import json
  import logging
  import os
  import platform
  from collections import OrderedDict
  from contextlib import contextmanager
  from pathlib import Path
  from typing import TYPE_CHECKING, Any, Dict, Generator, List, Mapping, Optional, Tuple, Union
  import torch
  from torch.nn import Module
  from torch.optim import Optimizer
  from typing_extensions import override
  import lightning.pytorch
  from lightning.fabric.plugins import ClusterEnvironment
  from lightning.fabric.strategies import _StrategyRegistry
  from lightning.fabric.strategies.deepspeed import _DEEPSPEED_AVAILABLE, _format_precision_config, _validate_checkpoint_directory, _validate_device_index_selection
  from lightning.fabric.utilities.optimizer import _optimizers_to_device
  from lightning.fabric.utilities.seed import reset_seed
  from lightning.fabric.utilities.types import _PATH, LRScheduler, ReduceLROnPlateau
  from lightning.pytorch.accelerators.cuda import CUDAAccelerator
  from lightning.pytorch.core.optimizer import _init_optimizers_and_lr_schedulers
  from lightning.pytorch.plugins.precision import Precision
  from lightning.pytorch.strategies.ddp import DDPStrategy
  from lightning.pytorch.trainer.states import TrainerFn
  from lightning.pytorch.utilities import GradClipAlgorithmType
  from lightning.pytorch.utilities.exceptions import MisconfigurationException
  from lightning.pytorch.utilities.model_helpers import is_overridden
  from lightning.pytorch.utilities.rank_zero import WarningCache, rank_zero_info, rank_zero_warn
  from lightning.pytorch.utilities.types import LRSchedulerConfig
label_desc: Use image node_id 19 for calling the DeepSpeedStrategy obj's underlying member method code with example usage: obj.setup_optimizers(trainer) without return types