# SpineNet-96 COCO detection with protocol C config. Expecting 48.5% AP.
runtime:
  distribution_strategy: 'tpu'
  mixed_precision_dtype: 'bfloat16'
task:
  annotation_file: '/readahead/200M/placer/prod/home/snaggletooth/test/data/coco/instances_val2017.json'
  gradient_clip_norm: 0.0
  losses:
    l2_weight_decay: 4.0e-05
  model:
    anchor:
      anchor_size: 3
      aspect_ratios: [0.5, 1.0, 2.0]
      num_scales: 3
    backbone:
      spinenet:
        stochastic_depth_drop_rate: 0.2
        model_id: '96'
      type: 'spinenet'
    decoder:
      type: 'identity'
    head:
      num_convs: 4
      num_filters: 256
    input_size: [1024, 1024, 3]
    max_level: 7
    min_level: 3
    norm_activation:
      activation: 'swish'
      norm_epsilon: 0.001
      norm_momentum: 0.99
      use_sync_bn: true
  train_data:
    dtype: 'bfloat16'
    global_batch_size: 256
    input_path: '/readahead/200M/placer/prod/home/snaggletooth/test/data/coco/train*'
    is_training: true
    parser:
      aug_rand_hflip: true
      aug_scale_max: 2.0
      aug_scale_min: 0.1
  validation_data:
    dtype: 'bfloat16'
    global_batch_size: 8
    input_path: '/readahead/200M/placer/prod/home/snaggletooth/test/data/coco/val*'
    is_training: false
trainer:
  checkpoint_interval: 462
  optimizer_config:
    learning_rate:
      stepwise:
        boundaries: [219450, 226380]
        values: [0.32, 0.032, 0.0032]
      type: 'stepwise'
    warmup:
      linear:
        warmup_learning_rate: 0.0067
        warmup_steps: 2000
  steps_per_loop: 462
  train_steps: 231000
  validation_interval: 462
  validation_steps: 625
