justinkay / repulsion-loss-d2

Implementation of "Repulsion Loss: Detecting Pedestrians in a Crowd" for Faster RCNN, on top of Detectron2.
MIT License
6 stars 3 forks source link

"No object named 'RepLossROIHeads' found in 'ROI_HEADS' registry!" #1

Closed Harzva closed 3 years ago

Harzva commented 4 years ago

"No object named 'RepLossROIHeads' found in 'ROI_HEADS' registry!"

Harzva commented 4 years ago

(base) root@dgx2:~/data/gvision# /opt/conda/bin/python /root/data/gvision/detectron2-master/projects/repulsion-loss/my_maskrcnn_reploss.py CUDNN_BENCHMARK: False DATALOADER: ASPECT_RATIO_GROUPING: True FILTER_EMPTY_ANNOTATIONS: True NUM_WORKERS: 4 REPEAT_THRESHOLD: 0.0 SAMPLER_TRAIN: TrainingSampler DATASETS: PRECOMPUTED_PROPOSAL_TOPK_TEST: 1000 PRECOMPUTED_PROPOSAL_TOPK_TRAIN: 2000 PROPOSAL_FILES_TEST: () PROPOSAL_FILES_TRAIN: () TEST: () TRAIN: () GLOBAL: HACK: 1.0 INPUT: CROP: ENABLED: False SIZE: [0.9, 0.9] TYPE: relative_range FORMAT: BGR MASK_FORMAT: polygon MAX_SIZE_TEST: 1333 MAX_SIZE_TRAIN: 1333 MIN_SIZE_TEST: 800 MIN_SIZE_TRAIN: (800,) MIN_SIZE_TRAIN_SAMPLING: choice MODEL: ANCHOR_GENERATOR: ANGLES: [[-90, 0, 90]] ASPECT_RATIOS: [[0.5, 1.0, 2.0]] NAME: DefaultAnchorGenerator OFFSET: 0.0 SIZES: [[32, 64, 128, 256, 512]] BACKBONE: FREEZE_AT: 2 NAME: build_resnet_backbone DETR: BBOX_LOSS_COEFF: 5.0 COST_BBOX: 5.0 COST_CLASS: 1.0 COST_GIOU: 2.0 DICE_LOSS_COEFF: 1.0 EOS_COEFF: 0.1 GIOU_LOSS_COEFF: 2.0 MASK_LOSS_COEFF: 1.0 NO_AUX_LOSS: False NUM_CLASSES: 80 NUM_QUERIES: 100 POSITION_EMBEDDING: sine TRANSFORMER: ACTIVATION: relu DIM_FFN: 2048 DROPOUT_RATE: 0.1 D_MODEL: 256 NUM_DEC_LAYERS: 6 NUM_ENC_LAYERS: 6 N_HEAD: 8 PRE_NORM: False RETURN_INTERMEDIATE_DEC: True DEVICE: cuda FPN: FUSE_TYPE: sum IN_FEATURES: [] NORM: OUT_CHANNELS: 256 KEYPOINT_ON: False LOAD_PROPOSALS: False MASK_ON: False META_ARCHITECTURE: GeneralizedRCNN PANOPTIC_FPN: COMBINE: ENABLED: True INSTANCES_CONFIDENCE_THRESH: 0.5 OVERLAP_THRESH: 0.5 STUFF_AREA_LIMIT: 4096 INSTANCE_LOSS_WEIGHT: 1.0 PIXEL_MEAN: [103.53, 116.28, 123.675] PIXEL_STD: [1.0, 1.0, 1.0] PROPOSAL_GENERATOR: MIN_SIZE: 0 NAME: RPN RESNETS: DEFORM_MODULATED: False DEFORM_NUM_GROUPS: 1 DEFORM_ON_PER_STAGE: [False, False, False, False] DEPTH: 50 NORM: FrozenBN NUM_GROUPS: 1 OUT_FEATURES: ['res4'] RES2_OUT_CHANNELS: 256 RES5_DILATION: 1 STEM_OUT_CHANNELS: 64 STRIDE_IN_1X1: True WIDTH_PER_GROUP: 64 RETINANET: BBOX_REG_WEIGHTS: (1.0, 1.0, 1.0, 1.0) FOCAL_LOSS_ALPHA: 0.25 FOCAL_LOSS_GAMMA: 2.0 IN_FEATURES: ['p3', 'p4', 'p5', 'p6', 'p7'] IOU_LABELS: [0, -1, 1] IOU_THRESHOLDS: [0.4, 0.5] NMS_THRESH_TEST: 0.5 NUM_CLASSES: 80 NUM_CONVS: 4 PRIOR_PROB: 0.01 SCORE_THRESH_TEST: 0.05 SMOOTH_L1_LOSS_BETA: 0.1 TOPK_CANDIDATES_TEST: 1000 ROI_BOX_CASCADE_HEAD: BBOX_REG_WEIGHTS: ((10.0, 10.0, 5.0, 5.0), (20.0, 20.0, 10.0, 10.0), (30.0, 30.0, 15.0, 15.0)) IOUS: (0.5, 0.6, 0.7) ROI_BOX_HEAD: BBOX_REG_LOSS_TYPE: smooth_l1 BBOX_REG_LOSS_WEIGHT: 1.0 BBOX_REG_WEIGHTS: (10.0, 10.0, 5.0, 5.0) CLS_AGNOSTIC_BBOX_REG: False CONV_DIM: 256 FC_DIM: 1024 NAME: NORM: NUM_CONV: 0 NUM_FC: 0 POOLER_RESOLUTION: 14 POOLER_SAMPLING_RATIO: 0 POOLER_TYPE: ROIAlignV2 SMOOTH_L1_BETA: 0.0 TRAIN_ON_PRED_BOXES: False ROI_HEADS: BATCH_SIZE_PER_IMAGE: 512 IN_FEATURES: ['res4'] IOU_LABELS: [0, 1] IOU_THRESHOLDS: [0.5] NAME: Res5ROIHeads NMS_THRESH_TEST: 0.5 NUM_CLASSES: 80 POSITIVE_FRACTION: 0.25 PROPOSAL_APPEND_GT: True REPULSION_LOSS: D2_NORMALIZE: True REP_BOX_FACTOR: 0.5 REP_BOX_SIGMA: 0.1 REP_GT_FACTOR: 0.5 REP_GT_SIGMA: 0.9 SCORE_THRESH_TEST: 0.05 ROI_KEYPOINT_HEAD: CONV_DIMS: (512, 512, 512, 512, 512, 512, 512, 512) LOSS_WEIGHT: 1.0 MIN_KEYPOINTS_PER_IMAGE: 1 NAME: KRCNNConvDeconvUpsampleHead NORMALIZE_LOSS_BY_VISIBLE_KEYPOINTS: True NUM_KEYPOINTS: 17 POOLER_RESOLUTION: 14 POOLER_SAMPLING_RATIO: 0 POOLER_TYPE: ROIAlignV2 ROI_MASK_HEAD: CLS_AGNOSTIC_MASK: False CONV_DIM: 256 NAME: MaskRCNNConvUpsampleHead NORM: NUM_CONV: 0 POOLER_RESOLUTION: 14 POOLER_SAMPLING_RATIO: 0 POOLER_TYPE: ROIAlignV2 RPN: BATCH_SIZE_PER_IMAGE: 256 BBOX_REG_WEIGHTS: (1.0, 1.0, 1.0, 1.0) BOUNDARY_THRESH: -1 HEAD_NAME: StandardRPNHead IN_FEATURES: ['res4'] IOU_LABELS: [0, -1, 1] IOU_THRESHOLDS: [0.3, 0.7] LOSS_WEIGHT: 1.0 NMS_THRESH: 0.7 POSITIVE_FRACTION: 0.5 POST_NMS_TOPK_TEST: 1000 POST_NMS_TOPK_TRAIN: 2000 PRE_NMS_TOPK_TEST: 6000 PRE_NMS_TOPK_TRAIN: 12000 SMOOTH_L1_BETA: 0.0 SEM_SEG_HEAD: COMMON_STRIDE: 4 CONVS_DIM: 128 IGNORE_VALUE: 255 IN_FEATURES: ['p2', 'p3', 'p4', 'p5'] LOSS_WEIGHT: 1.0 NAME: SemSegFPNHead NORM: GN NUM_CLASSES: 54 WEIGHTS: OUTPUT_DIR: ./output SEED: -1 SOLVER: BASE_LR: 0.001 BASE_LR_BACKBONE: 0.001 BIAS_LR_FACTOR: 1.0 CHECKPOINT_PERIOD: 5000 CLIP_GRADIENTS: CLIP_TYPE: value CLIP_VALUE: 1.0 ENABLED: False NORM_TYPE: 2.0 GAMMA: 0.1 IMS_PER_BATCH: 16 LR_SCHEDULER_NAME: WarmupMultiStepLR MAX_ITER: 40000 MOMENTUM: 0.9 NESTEROV: False OPTIMIZER_NAME: SGD STEPS: (30000,) WARMUP_FACTOR: 0.001 WARMUP_ITERS: 1000 WARMUP_METHOD: linear WEIGHT_DECAY: 0.0001 WEIGHT_DECAY_BIAS: 0.0001 WEIGHT_DECAY_NORM: 0.0 TEST: AUG: ENABLED: False FLIP: True MAX_SIZE: 4000 MIN_SIZES: (400, 500, 600, 700, 800, 900, 1000, 1100, 1200) DETECTIONS_PER_IMAGE: 100 EVAL_PERIOD: 0 EXPECTED_RESULTS: [] KEYPOINT_OKS_SIGMAS: [] PRECISE_BN: ENABLED: False NUM_ITER: 200 VERSION: 2 VIS_PERIOD: 0 cfg_filename:/root/data/gvision/detectron2-master/projects/repulsion-loss/configs/COCO-Detection/my_mask_rcnn_R_50_FPN_Reploss_3x.yaml self._obj_map {'SemanticSegmentor': <class 'detectron2.modeling.meta_arch.semantic_seg.SemanticSegmentor'>, 'PanopticFPN': <class 'detectron2.modeling.meta_arch.panoptic_fpn.PanopticFPN'>, 'GeneralizedRCNN': <class 'detectron2.modeling.meta_arch.rcnn.GeneralizedRCNN'>, 'ProposalNetwork': <class 'detectron2.modeling.meta_arch.rcnn.ProposalNetwork'>, 'RetinaNet': <class 'detectron2.modeling.meta_arch.retinanet.RetinaNet'>} self._obj_map {'build_resnet_backbone': <function build_resnet_backbone at 0x7f1c228ded08>, 'build_resnet_fpn_backbone': <function build_resnet_fpn_backbone at 0x7f1c228ef400>, 'build_retinanet_resnet_fpn_backbone': <function build_retinanet_resnet_fpn_backbone at 0x7f1c228ef488>} self._obj_map {'RPN': <class 'detectron2.modeling.proposal_generator.rpn.RPN'>, 'RRPN': <class 'detectron2.modeling.proposal_generator.rrpn.RRPN'>} self._obj_map {'DefaultAnchorGenerator': <class 'detectron2.modeling.anchor_generator.DefaultAnchorGenerator'>, 'RotatedAnchorGenerator': <class 'detectron2.modeling.anchor_generator.RotatedAnchorGenerator'>} self._obj_map {'StandardRPNHead': <class 'detectron2.modeling.proposal_generator.rpn.StandardRPNHead'>} self._obj_map {'DefaultAnchorGenerator': <class 'detectron2.modeling.anchor_generator.DefaultAnchorGenerator'>, 'RotatedAnchorGenerator': <class 'detectron2.modeling.anchor_generator.RotatedAnchorGenerator'>} RepLossROIHeads self._obj_map {'Res5ROIHeads': <class 'detectron2.modeling.roi_heads.roi_heads.Res5ROIHeads'>, 'StandardROIHeads': <class 'detectron2.modeling.roi_heads.roi_heads.StandardROIHeads'>, 'RROIHeads': <class 'detectron2.modeling.roi_heads.rotated_fast_rcnn.RROIHeads'>, 'CascadeROIHeads': <class 'detectron2.modeling.roi_heads.cascade_rcnn.CascadeROIHeads'>} Traceback (most recent call last): File "/root/data/gvision/detectron2-master/projects/repulsion-loss/my_maskrcnn_reploss.py", line 417, in main() File "/root/data/gvision/detectron2-master/projects/repulsion-loss/my_maskrcnn_reploss.py", line 389, in main trainer=train(train_flag=True,resume_load=False) File "/root/data/gvision/detectron2-master/projects/repulsion-loss/my_maskrcnn_reploss.py", line 82, in train trainer = DefaultTrainer(cfg) File "/root/data/gvision/detectron2-master/detectron2/engine/defaults.py", line 271, in init model = self.build_model(cfg) File "/root/data/gvision/detectron2-master/detectron2/engine/defaults.py", line 414, in build_model model = build_model(cfg) File "/root/data/gvision/detectron2-master/detectron2/modeling/meta_arch/build.py", line 21, in build_model model = META_ARCH_REGISTRY.get(meta_arch)(cfg) File "/root/data/gvision/detectron2-master/detectron2/config/config.py", line 148, in wrapped explicit_args = _get_args_from_config(from_config_func, *args, *kwargs) File "/root/data/gvision/detectron2-master/detectron2/config/config.py", line 181, in _get_args_from_config ret = from_config_func(args, **kwargs) File "/root/data/gvision/detectron2-master/detectron2/modeling/meta_arch/rcnn.py", line 79, in from_config "roi_heads": build_roi_heads(cfg, backbone.output_shape()), File "/root/data/gvision/detectron2-master/detectron2/modeling/roi_heads/roi_heads.py", line 44, in build_roi_heads return ROI_HEADS_REGISTRY.get(name)(cfg, input_shape) File "/opt/conda/lib/python3.6/site-packages/fvcore/common/registry.py", line 71, in get "No object named '{}' found in '{}' registry!".format(name, self._name) KeyError: "No object named 'RepLossROIHeads' found in 'ROI_HEADS' registry!"

justinkay commented 4 years ago

You probably need to import the custom roi_heads file so the @ROI_HEADS_REGISTRY.register() executes:

import repulsion_loss.roi_heads

Let me know if this fixes your issue and I'll add it to the README

Harzva commented 4 years ago

yes thanks,you. i add "from repulsion_loss import RepLossROIHeads" and the init.py is "from .roi_heads import pLossROIHeads".i think you are right ,too.my computer is wrong,if i try your idea ,i will tell you the result.

------------------ 原始邮件 ------------------ 发件人: "Justin Kay"<notifications@github.com>; 发送时间: 2020年7月8日(星期三) 晚上10:23 收件人: "justinkay/repulsion-loss-detectron2"<repulsion-loss-detectron2@noreply.github.com>; 抄送: "郝泽华"<626609967@qq.com>; "Author"<author@noreply.github.com>; 主题: Re: [justinkay/repulsion-loss-detectron2] "No object named 'RepLossROIHeads' found in 'ROI_HEADS' registry!" (#1)

You probably need to import the custom roi_heads file so the @ROI_HEADS_REGISTRY.register() executes: import repulsion_loss.roi_heads
Let me know if this fixes your issue and I'll add it to the README

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Harzva commented 4 years ago

detectron2-0.1.3 can work with your code named "repulsion-loss-detectron2".your work is good.