TensorFlow 对象检测 API:指定多个 data_augmentation_options

TensorFlow Object Detection API: specifying multiple data_augmentation_options

我想知道像这样指定数据扩充之间是否有任何区别:

data_augmentation_options {
  random_horizontal_flip {
  }
}
data_augmentation_options {
  ssd_random_crop {
  }
}

或者像这样:

data_augmentation_options {
  random_horizontal_flip {
  }
  ssd_random_crop {
  }
}

在对象检测管道文件中?

models repo 中的所有示例都使用第一种格式,但也接受第二种格式。

唯一正确的格式是第一个。

虽然第二个不会破坏管道,但它只会采用第一个指定的选项。 您可以通过检查 model_dir 中创建的 pipeline.config 自己验证这一点。 原因是 data_augmentation_options 的类型 PreprocessingSteponeof preprocessing_step 组成。注意 oneof.

另一方面,data_augmentation_optionsrepeated,因此您可以指定

data_augmentation_options {
  augmentation_option_1 {
  }
}
data_augmentation_options {
  augmentation_option_2 {
  }
}
...

以此类推,想加多少就加多少。