• detectron——test 错误集锦


    一、测试错误,运行如下代码

    python2 tools/test_net.py     --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml     TEST.WEIGHTS /home/learner/github/detectron/experiments/output/train/voc_2007_train/generalized_rcnn/model_final.pkl NUM_GPUS 1

    报错如下:

    INFO test_engine.py: 320: Wrote detections to: /home/learner/github/detectron/test/voc_2007_test/generalized_rcnn/detections.pkl
    INFO test_engine.py: 162: Total inference time: 241.493s
    INFO task_evaluation.py:  76: Evaluating detections
    Traceback (most recent call last):
      File "tools/test_net.py", line 116, in <module>
        check_expected_results=True,
      File "/home/learner/github/detectron/detectron/core/test_engine.py", line 128, in run_inference
        all_results = result_getter()
      File "/home/learner/github/detectron/detectron/core/test_engine.py", line 108, in result_getter
        multi_gpu=multi_gpu_testing
      File "/home/learner/github/detectron/detectron/core/test_engine.py", line 164, in test_net_on_dataset
        dataset, all_boxes, all_segms, all_keyps, output_dir
      File "/home/learner/github/detectron/detectron/datasets/task_evaluation.py", line 60, in evaluate_all
        dataset, all_boxes, output_dir, use_matlab=use_matlab
      File "/home/learner/github/detectron/detectron/datasets/task_evaluation.py", line 93, in evaluate_boxes
        dataset, all_boxes, output_dir, use_matlab=use_matlab
      File "/home/learner/github/detectron/detectron/datasets/voc_dataset_evaluator.py", line 46, in evaluate_boxes
        filenames = _write_voc_results_files(json_dataset, all_boxes, salt)
      File "/home/learner/github/detectron/detectron/datasets/voc_dataset_evaluator.py", line 69, in _write_voc_results_files
        assert index == image_index[i]
    AssertionError

    报错大意为图片的标注文件的名称test.txt文件中的xml文件名称与test.json中xml文件顺序不相符。运行以下两个代码,将结果替换原先文件,可实现均一致,编号从小到大。

    附配置文件:

    Found Detectron ops lib: /usr/local/lib/libcaffe2_detectron_ops_gpu.so
    INFO test_net.py:  98: Called with args:
    INFO test_net.py:  99: Namespace(cfg_file='experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml', multi_gpu_testing=False, opts=['TEST.WEIGHTS', '/home/learner/github/detectron/experiments/output/train/voc_2007_train/generalized_rcnn/model_final.pkl', 'NUM_GPUS', '1'], range=None, vis=False, wait=True)
    INFO test_net.py: 105: Testing with config:
    INFO test_net.py: 106: {'BBOX_XFORM_CLIP': 4.135166556742356,
     'CLUSTER': {'ON_CLUSTER': False},
     'DATA_LOADER': {'BLOBS_QUEUE_CAPACITY': 8,
                     'MINIBATCH_QUEUE_SIZE': 64,
                     'NUM_THREADS': 4},
     'DEDUP_BOXES': 0.0625,
     'DOWNLOAD_CACHE': '/tmp/detectron-download-cache',
     'EPS': 1e-14,
     'EXPECTED_RESULTS': [],
     'EXPECTED_RESULTS_ATOL': 0.005,
     'EXPECTED_RESULTS_EMAIL': '',
     'EXPECTED_RESULTS_RTOL': 0.1,
     'EXPECTED_RESULTS_SIGMA_TOL': 4,
     'FAST_RCNN': {'CONV_HEAD_DIM': 256,
                   'MLP_HEAD_DIM': 1024,
                   'NUM_STACKED_CONVS': 4,
                   'ROI_BOX_HEAD': 'fast_rcnn_heads.add_roi_2mlp_head',
                   'ROI_XFORM_METHOD': 'RoIAlign',
                   'ROI_XFORM_RESOLUTION': 7,
                   'ROI_XFORM_SAMPLING_RATIO': 2},
     'FPN': {'COARSEST_STRIDE': 32,
             'DIM': 256,
             'EXTRA_CONV_LEVELS': False,
             'FPN_ON': True,
             'MULTILEVEL_ROIS': True,
             'MULTILEVEL_RPN': True,
             'ROI_CANONICAL_LEVEL': 4,
             'ROI_CANONICAL_SCALE': 224,
             'ROI_MAX_LEVEL': 5,
             'ROI_MIN_LEVEL': 2,
             'RPN_ANCHOR_START_SIZE': 32,
             'RPN_ASPECT_RATIOS': (0.5, 1, 2),
             'RPN_MAX_LEVEL': 6,
             'RPN_MIN_LEVEL': 2,
             'USE_GN': False,
             'ZERO_INIT_LATERAL': False},
     'GROUP_NORM': {'DIM_PER_GP': -1, 'EPSILON': 1e-05, 'NUM_GROUPS': 32},
     'KRCNN': {'CONV_HEAD_DIM': 256,
               'CONV_HEAD_KERNEL': 3,
               'CONV_INIT': 'GaussianFill',
               'DECONV_DIM': 256,
               'DECONV_KERNEL': 4,
               'DILATION': 1,
               'HEATMAP_SIZE': -1,
               'INFERENCE_MIN_SIZE': 0,
               'KEYPOINT_CONFIDENCE': 'bbox',
               'LOSS_WEIGHT': 1.0,
               'MIN_KEYPOINT_COUNT_FOR_VALID_MINIBATCH': 20,
               'NMS_OKS': False,
               'NORMALIZE_BY_VISIBLE_KEYPOINTS': True,
               'NUM_KEYPOINTS': -1,
               'NUM_STACKED_CONVS': 8,
               'ROI_KEYPOINTS_HEAD': '',
               'ROI_XFORM_METHOD': 'RoIAlign',
               'ROI_XFORM_RESOLUTION': 7,
               'ROI_XFORM_SAMPLING_RATIO': 0,
               'UP_SCALE': -1,
               'USE_DECONV': False,
               'USE_DECONV_OUTPUT': False},
     'MATLAB': 'matlab',
     'MEMONGER': True,
     'MEMONGER_SHARE_ACTIVATIONS': False,
     'MODEL': {'BBOX_REG_WEIGHTS': (10.0, 10.0, 5.0, 5.0),
               'CLS_AGNOSTIC_BBOX_REG': False,
               'CONV_BODY': 'FPN.add_fpn_ResNet50_conv5_body',
               'EXECUTION_TYPE': 'dag',
               'FASTER_RCNN': True,
               'KEYPOINTS_ON': False,
               'MASK_ON': False,
               'NUM_CLASSES': 4,
               'RPN_ONLY': False,
               'TYPE': 'generalized_rcnn'},
     'MRCNN': {'CLS_SPECIFIC_MASK': True,
               'CONV_INIT': 'GaussianFill',
               'DILATION': 2,
               'DIM_REDUCED': 256,
               'RESOLUTION': 14,
               'ROI_MASK_HEAD': '',
               'ROI_XFORM_METHOD': 'RoIAlign',
               'ROI_XFORM_RESOLUTION': 7,
               'ROI_XFORM_SAMPLING_RATIO': 0,
               'THRESH_BINARIZE': 0.5,
               'UPSAMPLE_RATIO': 1,
               'USE_FC_OUTPUT': False,
               'WEIGHT_LOSS_MASK': 1.0},
     'NUM_GPUS': 1,
     'OUTPUT_DIR': '.',
     'PIXEL_MEANS': array([[[102.9801, 115.9465, 122.7717]]]),
     'RESNETS': {'NUM_GROUPS': 1,
                 'RES5_DILATION': 1,
                 'SHORTCUT_FUNC': 'basic_bn_shortcut',
                 'STEM_FUNC': 'basic_bn_stem',
                 'STRIDE_1X1': True,
                 'TRANS_FUNC': 'bottleneck_transformation',
                 'WIDTH_PER_GROUP': 64},
     'RETINANET': {'ANCHOR_SCALE': 4,
                   'ASPECT_RATIOS': (0.5, 1.0, 2.0),
                   'BBOX_REG_BETA': 0.11,
                   'BBOX_REG_WEIGHT': 1.0,
                   'CLASS_SPECIFIC_BBOX': False,
                   'INFERENCE_TH': 0.05,
                   'LOSS_ALPHA': 0.25,
                   'LOSS_GAMMA': 2.0,
                   'NEGATIVE_OVERLAP': 0.4,
                   'NUM_CONVS': 4,
                   'POSITIVE_OVERLAP': 0.5,
                   'PRE_NMS_TOP_N': 1000,
                   'PRIOR_PROB': 0.01,
                   'RETINANET_ON': False,
                   'SCALES_PER_OCTAVE': 3,
                   'SHARE_CLS_BBOX_TOWER': False,
                   'SOFTMAX': False},
     'RFCN': {'PS_GRID_SIZE': 3},
     'RNG_SEED': 3,
     'ROOT_DIR': '/home/learner/github/detectron',
     'RPN': {'ASPECT_RATIOS': (0.5, 1, 2),
             'RPN_ON': True,
             'SIZES': (64, 128, 256, 512),
             'STRIDE': 16},
     'SOLVER': {'BASE_LR': 0.0025,
                'GAMMA': 0.1,
                'LOG_LR_CHANGE_THRESHOLD': 1.1,
                'LRS': [],
                'LR_POLICY': 'steps_with_decay',
                'MAX_ITER': 60000,
                'MOMENTUM': 0.9,
                'SCALE_MOMENTUM': True,
                'SCALE_MOMENTUM_THRESHOLD': 1.1,
                'STEPS': [0, 30000, 40000],
                'STEP_SIZE': 30000,
                'WARM_UP_FACTOR': 0.3333333333333333,
                'WARM_UP_ITERS': 500,
                'WARM_UP_METHOD': u'linear',
                'WEIGHT_DECAY': 0.0001,
                'WEIGHT_DECAY_GN': 0.0},
     'TEST': {'BBOX_AUG': {'AREA_TH_HI': 32400,
                           'AREA_TH_LO': 2500,
                           'ASPECT_RATIOS': (),
                           'ASPECT_RATIO_H_FLIP': False,
                           'COORD_HEUR': 'UNION',
                           'ENABLED': False,
                           'H_FLIP': False,
                           'MAX_SIZE': 4000,
                           'SCALES': (),
                           'SCALE_H_FLIP': False,
                           'SCALE_SIZE_DEP': False,
                           'SCORE_HEUR': 'UNION'},
              'BBOX_REG': True,
              'BBOX_VOTE': {'ENABLED': False,
                            'SCORING_METHOD': 'ID',
                            'SCORING_METHOD_BETA': 1.0,
                            'VOTE_TH': 0.8},
              'COMPETITION_MODE': True,
              'DATASETS': ('voc_2007_test',),
              'DETECTIONS_PER_IM': 100,
              'FORCE_JSON_DATASET_EVAL': False,
              'KPS_AUG': {'AREA_TH': 32400,
                          'ASPECT_RATIOS': (),
                          'ASPECT_RATIO_H_FLIP': False,
                          'ENABLED': False,
                          'HEUR': 'HM_AVG',
                          'H_FLIP': False,
                          'MAX_SIZE': 4000,
                          'SCALES': (),
                          'SCALE_H_FLIP': False,
                          'SCALE_SIZE_DEP': False},
              'MASK_AUG': {'AREA_TH': 32400,
                           'ASPECT_RATIOS': (),
                           'ASPECT_RATIO_H_FLIP': False,
                           'ENABLED': False,
                           'HEUR': 'SOFT_AVG',
                           'H_FLIP': False,
                           'MAX_SIZE': 4000,
                           'SCALES': (),
                           'SCALE_H_FLIP': False,
                           'SCALE_SIZE_DEP': False},
              'MAX_SIZE': 833,
              'NMS': 0.5,
              'PRECOMPUTED_PROPOSALS': False,
              'PROPOSAL_FILES': (),
              'PROPOSAL_LIMIT': 2000,
              'RPN_MIN_SIZE': 0,
              'RPN_NMS_THRESH': 0.7,
              'RPN_POST_NMS_TOP_N': 1000,
              'RPN_PRE_NMS_TOP_N': 1000,
              'SCALE': 500,
              'SCORE_THRESH': 0.05,
              'SOFT_NMS': {'ENABLED': False, 'METHOD': 'linear', 'SIGMA': 0.5},
              'WEIGHTS': '/home/learner/github/detectron/experiments/output/train/voc_2007_train/generalized_rcnn/model_final.pkl'},
     'TRAIN': {'ASPECT_GROUPING': True,
               'AUTO_RESUME': True,
               'BATCH_SIZE_PER_IM': 512,
               'BBOX_THRESH': 0.5,
               'BG_THRESH_HI': 0.5,
               'BG_THRESH_LO': 0.0,
               'COPY_WEIGHTS': False,
               'CROWD_FILTER_THRESH': 0.7,
               'DATASETS': ('voc_2007_train',),
               'FG_FRACTION': 0.25,
               'FG_THRESH': 0.5,
               'FREEZE_AT': 2,
               'FREEZE_CONV_BODY': False,
               'GT_MIN_AREA': -1,
               'IMS_PER_BATCH': 2,
               'MAX_SIZE': 833,
               'PROPOSAL_FILES': (),
               'RPN_BATCH_SIZE_PER_IM': 256,
               'RPN_FG_FRACTION': 0.5,
               'RPN_MIN_SIZE': 0,
               'RPN_NEGATIVE_OVERLAP': 0.3,
               'RPN_NMS_THRESH': 0.7,
               'RPN_POSITIVE_OVERLAP': 0.7,
               'RPN_POST_NMS_TOP_N': 2000,
               'RPN_PRE_NMS_TOP_N': 2000,
               'RPN_STRADDLE_THRESH': 0,
               'SCALES': (500,),
               'SNAPSHOT_ITERS': 20000,
               'USE_FLIPPED': True,
               'WEIGHTS': '/home/learner/github/detectron/pretrained_model/R-50.pkl'},
     'USE_NCCL': False,
     'VIS': False,
     'VIS_TH': 0.9}
    loading annotations into memory...
    Done (t=0.02s)
    creating index...
    index created!
    loading annotations into memory...
    Done (t=0.02s)
    creating index...
    index created!
    WARNING cnn.py:  25: [====DEPRECATE WARNING====]: you are creating an object from CNNModelHelper class which will be deprecated soon. Please use ModelHelper object with brew module. For more information, please refer to caffe2.ai and python/brew.py, python/brew_test.py for more information.
    INFO net.py:  60: Loading weights from: /home/learner/github/detectron/experiments/output/train/voc_2007_train/generalized_rcnn/model_final.pkl

    test.json文件生成(xmltojson.py):

    # -*- coding: utf-8 -*-
    """
    Created on Tue Aug 28 15:01:03 2018
    
    @author: Administrator
    """
    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    # @Author: hbchen
    # @Time: 2018-01-29
    # @Description: xml转换到coco数据集json格式
     
    import os, sys, json,xmltodict
     
    from xml.etree.ElementTree import ElementTree, Element
    from collections import OrderedDict
     
    XML_PATH = "/home/learner/datasets/VOCdevkit2007/VOC2007/Annotations/test"
    JSON_PATH = "./test.json"
    json_obj = {}
    images = []
    annotations = []
    categories = []
    categories_list = []
    annotation_id = 1
     
    def read_xml(in_path):
        '''读取并解析xml文件'''
        tree = ElementTree()
        tree.parse(in_path)
        return tree
     
    def if_match(node, kv_map):
        '''判断某个节点是否包含所有传入参数属性
          node: 节点
          kv_map: 属性及属性值组成的map'''
        for key in kv_map:
            if node.get(key) != kv_map.get(key):
                return False
        return True
     
    def get_node_by_keyvalue(nodelist, kv_map):
        '''根据属性及属性值定位符合的节点,返回节点
          nodelist: 节点列表
          kv_map: 匹配属性及属性值map'''
        result_nodes = []
        for node in nodelist:
            if if_match(node, kv_map):
                result_nodes.append(node)
        return result_nodes
     
    def find_nodes(tree, path):
        '''查找某个路径匹配的所有节点
          tree: xml树
          path: 节点路径'''
        return tree.findall(path)
     
    print ("-----------------Start------------------")
    xml_names = []
    for xml in os.listdir(XML_PATH):
        #os.path.splitext(xml)
        xml=xml.replace('Cow_','')
        xml_names.append(xml)
        
    
    '''xml_path_list=os.listdir(XML_PATH)
    os.path.split
    xml_path_list.sort(key=len)'''
    xml_names.sort(key=lambda x:int(x[:-4]))
    new_xml_names = []
    for i in xml_names:
        j = 'Cow_' + i
        new_xml_names.append(j)
    
    #print xml_names
    #print new_xml_names
    for xml in new_xml_names:
        tree = read_xml(XML_PATH + "/" + xml)
        object_nodes = get_node_by_keyvalue(find_nodes(tree, "object"), {})
        if len(object_nodes) == 0:
            print (xml, "no object")
            continue
        else:
            image = OrderedDict()
            file_name = os.path.splitext(xml)[0];  # 文件名
                    #print os.path.splitext(xml)
            para1 = file_name + ".jpg"
                   
    
                    height_nodes = get_node_by_keyvalue(find_nodes(tree, "size/height"), {})
            para2 = int(height_nodes[0].text)
                       
                    width_nodes = get_node_by_keyvalue(find_nodes(tree, "size/width"), {})
            para3 = int(width_nodes[0].text)
            
            fname=file_name[4:]
            para4 = int(fname)
            
            
                    
                    for f,i in [("file_name",para1),("height",para2),("width",para3),("id",para4)]:
                        image.setdefault(f,i)
    
                    #print(image)
                    images.append(image)    #构建images
              
         
            name_nodes = get_node_by_keyvalue(find_nodes(tree, "object/name"), {})
            xmin_nodes = get_node_by_keyvalue(find_nodes(tree, "object/bndbox/xmin"), {})
            ymin_nodes = get_node_by_keyvalue(find_nodes(tree, "object/bndbox/ymin"), {})
            xmax_nodes = get_node_by_keyvalue(find_nodes(tree, "object/bndbox/xmax"), {})
            ymax_nodes = get_node_by_keyvalue(find_nodes(tree, "object/bndbox/ymax"), {})
               # print ymax_nodes
            for index, node in enumerate(object_nodes):
                annotation = {}
                segmentation = []
                bbox = []
                seg_coordinate = []     #坐标
                seg_coordinate.append(int(xmin_nodes[index].text))
                seg_coordinate.append(int(ymin_nodes[index].text))
                seg_coordinate.append(int(xmin_nodes[index].text))
                seg_coordinate.append(int(ymax_nodes[index].text))
                seg_coordinate.append(int(xmax_nodes[index].text))
                seg_coordinate.append(int(ymax_nodes[index].text))
                seg_coordinate.append(int(xmax_nodes[index].text))
                seg_coordinate.append(int(ymin_nodes[index].text))
                segmentation.append(seg_coordinate)
                width = int(xmax_nodes[index].text) - int(xmin_nodes[index].text)
                height = int(ymax_nodes[index].text) - int(ymin_nodes[index].text)
                area = width * height
                bbox.append(int(xmin_nodes[index].text))
                bbox.append(int(ymin_nodes[index].text))
                bbox.append(width)
                bbox.append(height)
         
                annotation["segmentation"] = segmentation
                annotation["area"] = area
                annotation["iscrowd"] = 0
                fname=file_name[4:]
                annotation["image_id"] = int(fname)
                annotation["bbox"] = bbox
                cate=name_nodes[index].text
                if cate=='head':
                    category_id=1
                elif cate=='eye':
                    category_id=2
                elif cate=='nose':
                    category_id=3
                annotation["category_id"] = category_id
                annotation["id"] = annotation_id
                annotation_id += 1
                annotation["ignore"] = 0
                annotations.append(annotation)
         
                if category_id in categories_list:
                    pass
                else:
                    categories_list.append(category_id)
                    categorie = {}
                    categorie["supercategory"] = "none"
                    categorie["id"] = category_id
                    categorie["name"] = name_nodes[index].text
                    categories.append(categorie)
         
    json_obj["images"] = images
    json_obj["type"] = "instances"
    json_obj["annotations"] = annotations
    json_obj["categories"] = categories
     
    f = open(JSON_PATH, "w")
    #json.dump(json_obj, f)
    json_str = json.dumps(json_obj)
    f.write(json_str)
    print ("------------------End-------------------")

    test.txt生成(test.py):

    import os,sys
    XML_PATH = "/home/learner/datasets/VOCdevkit2007/VOC2007/Annotations/test"
    final_path = "./test.txt"
    xml_names = []
    for xml in os.listdir(XML_PATH):
        #os.path.splitext(xml)
        xml=xml.replace('Cow_','')
        xml_names.append(xml)
    
    
    '''xml_path_list=os.listdir(XML_PATH)
    os.path.split
    xml_path_list.sort(key=len)'''
    xml_names.sort(key=lambda x:int(x[:-4]))
    new_xml_names = []
    for i in xml_names:
        j = 'Cow_' + i
        new_xml_names.append(j)
    
    #print xml_names
    #print new_xml_names
    f = open(final_path,"w")
    for xml in new_xml_names:
        file_name = os.path.splitext(xml)[0];
        f.write(file_name)
        f.write('
    ')

    二、计算inference类别标的有问题,比如本应该是head,框显示car:

    commend如下:

     python2 tools/infer_simple.py --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml --output-dir experiments/test_out/ --wts experiments/output/train/voc_2007_train/generalized_rcnn/model_final.pkl test_demo_cow 

    修改dummy_datasets.py中的类别信息:

    def get_COCO_dataset():
        """A dummy VOC dataset"""
        ds = AttrDict()
        classes = ['__background__', 
                   'eye', 'nose', 'head']
        ds.classes = {i:name for i, name in enumerate(classes)}
        return ds

    三、train的代码

    python2 tools/train_net.py --cfg experiments/e2e_faster_rcnn_resnet-50-FPN_pascal2007.yaml  OUTPUT_DIR experiments/output

    会报一些错,需要将起初权重改为R-50.pkl,参考http://www.yueye.org/2018/train-object-detection-model-using-detectron.html。

    四、更换model

    运行代码

    python2 tools/train_net.py --cfg experiments/e2e_faster_rcnn_X-101-64x4d-FPN_1x.yaml  OUTPUT_DIR experiments/outputx

    报错如下:

    INFO net.py: 254: End of model: generalized_rcnn
    json_stats: {"accuracy_cls": 0.228516, "eta": "17 days, 2:30:10", "iter": 0, "loss": 2.118356, "loss_bbox": 0.047415, "loss_cls": 1.357394, "loss_rpn_bbox_fpn2": 0.000000, "loss_rpn_bbox_fpn3": 0.000000, "loss_rpn_bbox_fpn4": 0.017527, "loss_rpn_bbox_fpn5": 0.000000, "loss_rpn_bbox_fpn6": 0.002472, "loss_rpn_cls_fpn2": 0.510349, "loss_rpn_cls_fpn3": 0.129855, "loss_rpn_cls_fpn4": 0.039958, "loss_rpn_cls_fpn5": 0.005469, "loss_rpn_cls_fpn6": 0.007917, "lr": 0.003333, "mb_qsize": 64, "mem": 6441, "time": 8.210058}
    json_stats: {"accuracy_cls": 0.961914, "eta": "2 days, 17:47:12", "iter": 20, "loss": 1.014767, "loss_bbox": 0.064824, "loss_cls": 0.274080, "loss_rpn_bbox_fpn2": 0.011057, "loss_rpn_bbox_fpn3": 0.005120, "loss_rpn_bbox_fpn4": 0.004911, "loss_rpn_bbox_fpn5": 0.000987, "loss_rpn_bbox_fpn6": 0.002837, "loss_rpn_cls_fpn2": 0.424010, "loss_rpn_cls_fpn3": 0.099319, "loss_rpn_cls_fpn4": 0.031872, "loss_rpn_cls_fpn5": 0.007901, "loss_rpn_cls_fpn6": 0.009875, "lr": 0.003600, "mb_qsize": 64, "mem": 6453, "time": 1.315882}
    json_stats: {"accuracy_cls": 0.941406, "eta": "1 day, 22:37:55", "iter": 40, "loss": 0.620170, "loss_bbox": 0.130436, "loss_cls": 0.284250, "loss_rpn_bbox_fpn2": 0.025175, "loss_rpn_bbox_fpn3": 0.006801, "loss_rpn_bbox_fpn4": 0.000663, "loss_rpn_bbox_fpn5": 0.001616, "loss_rpn_bbox_fpn6": 0.000000, "loss_rpn_cls_fpn2": 0.087775, "loss_rpn_cls_fpn3": 0.043141, "loss_rpn_cls_fpn4": 0.019907, "loss_rpn_cls_fpn5": 0.008191, "loss_rpn_cls_fpn6": 0.002730, "lr": 0.003867, "mb_qsize": 64, "mem": 6469, "time": 0.932848}
    json_stats: {"accuracy_cls": 0.947266, "eta": "1 day, 23:10:17", "iter": 60, "loss": 0.508122, "loss_bbox": 0.112828, "loss_cls": 0.233173, "loss_rpn_bbox_fpn2": 0.003497, "loss_rpn_bbox_fpn3": 0.003379, "loss_rpn_bbox_fpn4": 0.002439, "loss_rpn_bbox_fpn5": 0.000000, "loss_rpn_bbox_fpn6": 0.002276, "loss_rpn_cls_fpn2": 0.051088, "loss_rpn_cls_fpn3": 0.028643, "loss_rpn_cls_fpn4": 0.017298, "loss_rpn_cls_fpn5": 0.006002, "loss_rpn_cls_fpn6": 0.006945, "lr": 0.004133, "mb_qsize": 64, "mem": 6469, "time": 0.943747}
    /home/learner/github/detectron/detectron/utils/boxes.py:175: RuntimeWarning: overflow encountered in multiply
      pred_ctr_x = dx * widths[:, np.newaxis] + ctr_x[:, np.newaxis]
    /home/learner/github/detectron/detectron/utils/boxes.py:176: RuntimeWarning: overflow encountered in multiply
      pred_ctr_y = dy * heights[:, np.newaxis] + ctr_y[:, np.newaxis]
    /usr/local/lib/python2.7/dist-packages/numpy/lib/function_base.py:3250: RuntimeWarning: Invalid value encountered in median
      r = func(a, **kwargs)
    json_stats: {"accuracy_cls": 0.974609, "eta": "1 day, 23:20:54", "iter": 80, "loss": NaN, "loss_bbox": NaN, "loss_cls": NaN, "loss_rpn_bbox_fpn2": NaN, "loss_rpn_bbox_fpn3": NaN, "loss_rpn_bbox_fpn4": NaN, "loss_rpn_bbox_fpn5": NaN, "loss_rpn_bbox_fpn6": NaN, "loss_rpn_cls_fpn2": NaN, "loss_rpn_cls_fpn3": NaN, "loss_rpn_cls_fpn4": NaN, "loss_rpn_cls_fpn5": NaN, "loss_rpn_cls_fpn6": 0.004436, "lr": 0.004400, "mb_qsize": 64, "mem": 6473, "time": 0.947391}
    CRITICAL train.py:  98: Loss is NaN
    INFO loader.py: 126: Stopping enqueue thread
    INFO loader.py: 113: Stopping mini-batch loading thread
    INFO loader.py: 113: Stopping mini-batch loading thread
    INFO loader.py: 113: Stopping mini-batch loading thread
    INFO loader.py: 113: Stopping mini-batch loading thread
    Traceback (most recent call last):
      File "tools/train_net.py", line 132, in <module>
        main()
      File "tools/train_net.py", line 114, in main
        checkpoints = detectron.utils.train.train_model()
      File "/home/learner/github/detectron/detectron/utils/train.py", line 86, in train_model
        handle_critical_error(model, 'Loss is NaN')
      File "/home/learner/github/detectron/detectron/utils/train.py", line 100, in handle_critical_error
        raise Exception(msg)
    Exception: Loss is NaN

    修改BASE_LR的值从0.01改为0.001(在此e2e_faster_rcnn_X-101-64x4d-FPN_1x.yaml文件中

    X参考博客:

    Inference:

    https://blog.csdn.net/blateyang/article/details/79815490

    https://blog.csdn.net/Blateyang/article/details/80655802

    https://github.com/facebookresearch/Detectron/issues/485

    https://github.com/royhuang9/Detectron/blob/master/README.md

    其余参考博客:

    http://www.yueye.org/2018/train-object-detection-model-using-detectron.html

    os.path

    https://blog.csdn.net/T1243_3/article/details/80170006

    源码解读

    https://blog.csdn.net/zziahgf/article/details/79652946

    各种model

    https://github.com/royhuang9/Detectron/blob/master/MODEL_ZOO.md

  • 相关阅读:
    EXE中释放文件
    关闭GS选项,解决注入后崩溃
    HDU2516 取石子游戏
    HDU2188 选拔志愿者
    HDU2149 Public Sale
    HDU2147 kiki's game
    HDU1846 Brave Game
    LightOJ1214 Large Division
    POJ2480 Longge's problem
    HDU 5880 Family View
  • 原文地址:https://www.cnblogs.com/nanzhao/p/moon.html
Copyright © 2020-2023  润新知