繁体   English   中英

使用 Detectron2 训练自定义数据集时出错

[英]Error training custom dataset with Detectron2

我正在尝试使用 Detectron2 训练用于图像分割的自定义数据,但在使用配置文件(如 mask_rcnn_R_50_FPN_3x.yaml)时遇到问题。

这是我用于训练的配置:

cfg = get_cfg()
cfg.MODEL.DEVICE = "cpu"
cfg.DATASETS.TRAIN = ("category_train",)
cfg.DATASETS.TEST = ()

cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"))
cfg.MODEL.WEIGHTS = "COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml"

cfg.DATALOADER.NUM_WORKERS = 0
cfg.SOLVER.IMS_PER_BATCH = 8
cfg.SOLVER.BASE_LR = 0.00025  # pick a good LR

cfg.SOLVER.MAX_ITER = 25000
cfg.SOLVER.STEPS = []
cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 512
cfg.MODEL.ROI_HEADS.NUM_CLASSES = 6

我出错的部分是 cfg.merge_from_file() 部分。 如果我删除它和 cfg.MODEL.WEIGHTS,那么代码就可以工作,model 成功地训练了 object 检测 model。我需要图像分割,所以我需要使用这些配置。

但是,使用它们会出现以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'datasets\\coco/annotations/instances_train2017.json'

我查看了 Detectron2 问题,有人也有同样的错误,解决方案是在代码中添加以下内容:

cfg.DATASETS.TEST = ()

但是,我已经这样做了,但对我没有帮助。 有没有人知道为什么这行不通?

检查文件instances_train2017.json的路径,该文件的路径有问题, datasets\\coco/annotations/instances_train2017.json不是正确的路径。 请检查此文件中的配置COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml我希望您会看到里面的那一行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM