Tensorflow Object Detection API - Почему увеличение полной потери? - PullRequest
0 голосов
/ 29 апреля 2020

Я использую более быстрый rcnn для обучения на своем собственном наборе данных, но тензорная доска показывает, что потери в eval увеличиваются. Означает ли это, что модель переоснащается? Я не знаю, есть ли в коде регулятивный код, пожалуйста, помогите мне. Это мой конфиг.

Должен ли я изменить гиперпараметры или что-то еще ?? я новичок в компьютерном зрении

model {
  num_classes: 5
  image_resizer {
    keep_aspect_ratio_resizer {
      min_dimension: 600
      max_dimension: 1024
    }
  }
  feature_extractor {
    type: 'faster_rcnn_resnet101'
    first_stage_features_stride: 16
  }
  first_stage_anchor_generator {
    grid_anchor_generator {
      scales: [0.25, 0.5, 1.0, 2.0]
      aspect_ratios: [0.5, 1.0, 2.0]
      height_stride: 16
      width_stride: 16
    }
  }
  first_stage_box_predictor_conv_hyperparams {
    op: CONV
    regularizer {
      l2_regularizer {
        weight: 0.0
      }
    }
    initializer {
      truncated_normal_initializer {
        stddev: 0.01
      }
    }
  }
  first_stage_nms_score_threshold: 0.0
  first_stage_nms_iou_threshold: 0.7
  first_stage_max_proposals: 300
  first_stage_localization_loss_weight: 2.0
  first_stage_objectness_loss_weight: 1.0
  initial_crop_size: 14
  maxpool_kernel_size: 2
  maxpool_stride: 2
  second_stage_box_predictor {
    mask_rcnn_box_predictor {
      use_dropout: false
      dropout_keep_probability: 1.0
      fc_hyperparams {
        op: FC
        regularizer {
          l2_regularizer {
            weight: 0.0
          }
        }
        initializer {
          variance_scaling_initializer {
            factor: 1.0
            uniform: true
            mode: FAN_AVG
          }
        }
      }
    }
  }
  second_stage_post_processing {
    batch_non_max_suppression {
      score_threshold: 0.0
      iou_threshold: 0.6
      max_detections_per_class: 100
      max_total_detections: 300
    }
    score_converter: SOFTMAX
  }
  second_stage_localization_loss_weight: 2.0
  second_stage_classification_loss_weight: 1.0
}
}

train_config: {
batch_size: 1
optimizer {
  momentum_optimizer: {
    learning_rate: {
      manual_step_learning_rate {
        initial_learning_rate: 0.0003
        schedule {
          step: 900000
          learning_rate: .00003
        }
        schedule {
          step: 1200000
          learning_rate: .000003
        }
      }
    }
    momentum_optimizer_value: 0.9
  }
  use_moving_average: false
}
gradient_clipping_by_norm: 10.0
fine_tune_checkpoint: "D:/models-master/models/research/object_detection/mydata/model.ckpt"
from_detection_checkpoint: true
data_augmentation_options {
  random_horizontal_flip {
  }
}
}

train_input_reader: {
tf_record_input_reader {
  input_path: "D:\\models-master\\models\\research\\object_detection\\mydata\\train.record"
}
label_map_path: "D:\\models-master\\models\\research\\object_detection\\mydata\\mylabelmap.pbtxt"
}

eval_config: {
num_examples: 9192
# Note: The below line limits the evaluation process to 10 evaluations.
# Remove the below line to evaluate indefinitely.
#max_evals: 10
}

eval_input_reader: {
tf_record_input_reader {
  input_path: "D:\\models-master\\models\\research\\object_detection\\mydata\\val.record"
}
label_map_path: "D:\\models-master\\models\\research\\object_detection\\mydata\\mylabelmap.pbtxt"
shuffle: true
num_readers: 1
}

>

...