class_docstr: Configuration class for DDPOTrainer
code: def __post_init__(self):
      if self.log_with not in ["wandb", "tensorboard"]:
          warnings.warn(
              (
                  "Accelerator tracking only supports image logging if `log_with` is set to 'wandb' or 'tensorboard'."
              )
          )
  
      if self.log_with == "wandb" and not is_torchvision_available():
          warnings.warn(
              "Wandb image logging requires torchvision to be installed"
          )
  
      if self.train_use_8bit_adam and not is_bitsandbytes_available():
          raise ImportError(
              "You need to install bitsandbytes to use 8bit Adam. "
              "You can install it with `pip install bitsandbytes`."
          )
  
file_path: trl/trl/trainer/ddpo_config.py
imports: import os
  import sys
  import warnings
  from dataclasses import dataclass, field
  from typing import Literal, Optional
  from ..core import flatten_dict
  from ..import_utils import is_bitsandbytes_available, is_torchvision_available
label_desc: Use image node_id 2 for calling the DDPOConfig obj's underlying member method code with example usage: obj.__post_init__() without return types