code: def get_default_adversarial_config():
      """Get default adversarial config."""
      # Adversarial Training
      config = ml_collections.ConfigDict()
      config.adversarial_augmentation_mode = ""
      config.advprop = ml_collections.ConfigDict()
      config.advprop.init_mode = "zero"
      config.advprop.optimizer = "GradientDescent"
      config.advprop.use_sign = True
      config.advprop.epsilon = 6.0 / 255.0
      config.advprop.num_steps = 5
      config.advprop.pyramid_sizes = "()"
      config.advprop.pyramid_scalars = "()"
      config.advprop.attack_fn_str = "random_target"
      config.advprop.attack_in_train_mode = True
      config.advprop.aux_update_in_train_mode = True
      config.advprop.adv_loss_weight = 1.0
      config.advprop.aux_dropout_rate = 0.1  # equal to clean param
      config.advprop.aux_stochastic_depth = 0.1  # equal to clean param
      config.advprop.sd_direction = "drop_late"
      config.advprop.aux_sd_direction = "drop_late"
  
      advprop_lr_configs = ml_collections.ConfigDict()
      advprop_lr_configs.learning_rate_schedule = "compound"
      advprop_lr_configs.factors = "constant"
      advprop_lr_configs.warmup_steps = 0
      advprop_lr_configs.steps_per_cycle = 5
      advprop_lr_configs.base_learning_rate = 1.0 / 255.0
      config.advprop.lr_configs = advprop_lr_configs
  
      # Advprop has to know about the number of classes because it's not
      # reported in a consistent style in other types of configs.
      config.advprop.num_classes = 1000
      config.advprop.no_metrics = False  # for colab usage
      return config
  
label_desc: Use image node_id 1 for calling a global function with example usage: get_default_adversarial_config() and returns: config