【发布时间】:2021-01-18 02:30:13
【问题描述】:
我正在使用MaskR-CNN 在二维图片中进行对象分割。我使用其他人以前编写的代码。我的问题是,我遇到了许多误报的问题。现在我想在每个 epoch 之后检查验证结果并检查误报以对此进行优化。也许不仅如此,还与 F1 分数混合在一起。
我使用的代码只是像这样调用 maskrcnn train 方法:
model.train(dataset_train, dataset_val,
learning_rate=config.LEARNING_RATE,
epochs=epochs,
layers='heads')
我的配置如下:
class MaskConfig(Config):
NAME = "myName"
IMAGES_PER_GPU = 1
NUM_CLASSES = len(current_labels) + 1
STEPS_PER_EPOCH = 100
IMAGE_RESIZE_MODE = "square"
IMAGE_MIN_DIM = 480
IMAGE_MAX_DIM = 640
DETECTION_MIN_CONFIDENCE = 0.8
BACKBONE = "resnet101"
LEARNING_RATE = learnrate
LOSS_WEIGHTS = {
"rpn_class_loss": 1.,
"rpn_bbox_loss": 10.,
"mrcnn_class_loss": 1.,
"mrcnn_bbox_loss": 10.,
"mrcnn_mask_loss": 10.
}
config = MaskConfig()
我不知道我可以在哪里干预每个 epoch 之后所做的事情。我检查了 maskrcnn 的 'train'-Method 但无法真正弄清楚如何做到这一点。是否有任何关于如何操作模型如何优化以及如何进行提前停止的示例?
非常感谢您的帮助。
【问题讨论】: