Detectron训练自己的数据集(Labelme标注)

maskrcnn举例,其他同理

word文档看着舒服些,可以粘贴代码,地址如下:

https://download.csdn.net/download/o0haidee0o/10755039

20181029

基本信息

数据存储结构:

数据样本:

人体髋关节。对每一个人的髋关节有左右两个图像。

目前我们标记的数据,都是从视频中找出左侧骨头最水平的一张,抽出来标记。

Train共有90个数据:

扫描二维码关注公众号,回复: 3876461 查看本文章

Val有5个:

Labels:(4个分类)使用labelme标记。

Img:                                                                  Sgm:

              

准备工作:

labelme2COCOarea-final.py下载地址:

https://download.csdn.net/download/o0haidee0o/10750533

把labelme2COCOarea-final.py放在基本信息中数据结构所示位置,在文件夹下按住shift+鼠标右键,选择<在此处打卡命令行窗口> 或 < 在此处打卡powershell窗口>,输入命令:

python labelme2COCOarea-final.py

按照命令行输出提示找到new.json,修改名字为train.json或val.json并复制到annotations文件夹中。

 

修改/opt/detectron/detectron/datasets/dataset_catalog.py文件:

在_DATASETS类下添加:

'Ultrasonic_train':{

        _IM_DIR:

            _DATA_DIR + '/Ultrasonic_Dataset/train',

        _ANN_FN:

            _DATA_DIR + '/Ultrasonic_Dataset/annotations/train.json'

    },

    'Ultrasonic_val': {

        _IM_DIR:

            _DATA_DIR + '/Ultrasonic_Dataset/val',

        _ANN_FN:

            _DATA_DIR + '/Ultrasonic_Dataset/annotations/val.json'

}

 

进入目录:

cd /opt/detectron/configs/12_2017_baselines

复制文件并改名:

cp e2e_mask_rcnn_R-50-C4_1x.yaml Ultrasonic_mask_rcnn_r50.yaml

修改Ultrasonic_mask_rcnn_r50.yaml内容:(蓝色为修改部分)学习率太高可能导致loss=NaN

20181030

Train&Test

训练命令:

python tools/train_net.py \

    --cfg configs/12_2017_baselines/Ultrasonic_mask_rcnn_r50.yaml \

    OUTPUT_DIR ./Ultrasonic_train

 

输出:

Train完的输出:

json_stats: {"accuracy_cls": 0.992188, "eta": "0:00:14", "iter": 9980, "loss": 0.094678, "loss_bbox": 0.007504, "loss_cls": 0.021843, "loss_mask": 0.063899, "loss_rpn_bbox": 0.001373, "loss_rpn_cls": 0.001165, "lr": 0.000010, "mb_qsize": 64, "mem": 6449, "time": 0.71645
9}json_stats: {"accuracy_cls": 0.994141, "eta": "0:00:00", "iter": 9999, "loss": 0.086902, "loss_bbox": 0.006321, "loss_cls": 0.014295, "loss_mask": 0.061664, "loss_rpn_bbox": 0.001248, "loss_rpn_cls": 0.000913, "lr": 0.000010, "mb_qsize": 64, "mem": 6449, "time": 0.71656
8}INFO net.py: 143: Saving parameters and momentum to /opt/detectron/Ultrasonic_train/train/Ultrasonic_train:Ultrasonic_val/generalized_rcnn/model_final.pkl
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
loading annotations into memory...
。。。。。。       。。。。。。
INFO test_engine.py: 287: im_detect: range [1, 5] of 5: 1/5 0.351s + 0.004s (eta: 0:00:01)
INFO test_engine.py: 320: Wrote detections to: /opt/detectron/Ultrasonic_train/test/Ultrasonic_val/generalized_rcnn/detections.pkl
INFO test_engine.py: 162: Total inference time: 2.436s
INFO task_evaluation.py:  76: Evaluating detections
INFO json_dataset_evaluator.py: 170: Writing bbox results json to: /opt/detectron/Ultrasonic_train/test/Ultrasonic_val/generalized_rcnn/bbox_Ultrasonic_val_results.json
Loading and preparing results...
DONE (t=0.00s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *bbox*
DONE (t=0.01s).
Accumulating evaluation results...
DONE (t=0.03s).
INFO json_dataset_evaluator.py: 230: ~~~~ Mean and per-category AP @ IoU=[0.50,0.95] ~~~~
INFO json_dataset_evaluator.py: 231: 95.6
INFO json_dataset_evaluator.py: 239: 92.1
INFO json_dataset_evaluator.py: 239: 98.0
INFO json_dataset_evaluator.py: 239: 96.8
INFO json_dataset_evaluator.py: 240: ~~~~ Summary metrics ~~~~
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.956
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 1.000
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 1.000
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.945
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.980
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.960
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.960
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.960
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.950
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.980
INFO json_dataset_evaluator.py: 207: Wrote json eval results to: ./Ultrasonic_train/test/Ultrasonic_val/generalized_rcnn/detection_results.pkl
INFO task_evaluation.py:  62: Evaluating bounding boxes is done!
INFO task_evaluation.py: 105: Evaluating segmentations
INFO json_dataset_evaluator.py:  87: Writing segmentation results json to: /opt/detectron/Ultrasonic_train/test/Ultrasonic_val/generalized_rcnn/segmentations_Ultrasonic_val_results.json
Loading and preparing results...
DONE (t=0.00s)
creating index...
index created!
Running per image evaluation...
Evaluate annotation type *segm*
DONE (t=0.01s).
Accumulating evaluation results...
DONE (t=0.02s).
INFO json_dataset_evaluator.py: 230: ~~~~ Mean and per-category AP @ IoU=[0.50,0.95] ~~~~
INFO json_dataset_evaluator.py: 231: 86.7
INFO json_dataset_evaluator.py: 239: 72.1
INFO json_dataset_evaluator.py: 239: 98.0
INFO json_dataset_evaluator.py: 239: 90.0
INFO json_dataset_evaluator.py: 240: ~~~~ Summary metrics ~~~~
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.867
 Average Precision  (AP) @[ IoU=0.50      | area=   all | maxDets=100 ] = 1.000
 Average Precision  (AP) @[ IoU=0.75      | area=   all | maxDets=100 ] = 1.000
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
 Average Precision  (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.810
 Average Precision  (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.980
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=  1 ] = 0.867
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets= 10 ] = 0.867
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=   all | maxDets=100 ] = 0.867
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = -1.000
 Average Recall     (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.810
 Average Recall     (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.980
INFO json_dataset_evaluator.py: 126: Wrote json eval results to: ./Ultrasonic_train/test/Ultrasonic_val/generalized_rcnn/segmentation_results.pkl
INFO task_evaluation.py:  66: Evaluating segmentations is done!
INFO task_evaluation.py: 181: copypaste: Dataset: Ultrasonic_val
INFO task_evaluation.py: 183: copypaste: Task: box
INFO task_evaluation.py: 186: copypaste: AP,AP50,AP75,APs,APm,APl
INFO task_evaluation.py: 187: copypaste: 0.9564,1.0000,1.0000,-1.0000,0.9446,0.9802
INFO task_evaluation.py: 183: copypaste: Task: mask
INFO task_evaluation.py: 186: copypaste: AP,AP50,AP75,APs,APm,APl
INFO task_evaluation.py: 187: copypaste: 0.8670,1.0000,1.0000,-1.0000,0.8104,0.9802

这个指标真是厉害了啊,AP50和AP75竟然都是1。。。看一下结果吧,,

20181031

Inference

1、

cd /opt/detectron/tools

vi infer_simple.py

修改infer_simple.py的122行:

dummy_coco_dataset = dummy_datasets.get_coco_dataset()

改为

dummy_coco_dataset = dummy_datasets.get_Ultrasonic_dataset()

2、

修改/opt/detectron/detectron/datasets/dummy_datasets.py

尾部添加:

def get_Ultrasonic_dataset():

    """A dummy COCO dataset that includes only the 'classes' field."""

    ds = AttrDict()

    classes = ['__background__', 'ace','fe','is']

    ds.classes = {i: name for i, name in enumerate(classes)}

return ds

3、

Inference 测试代码:

python tools/infer_simple.py \

    --cfg configs/12_2017_baselines/Ultrasonic_mask_rcnn_r50.yaml \

    --output-dir ./Ultrasonic_train/inference \

    --image-ext png \

    --wts /opt/detectron/Ultrasonic_train/train/Ultrasonic_train:Ultrasonic_val/generalized_rcnn/model_final.pkl \

    /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val

输出:

Found Detectron ops lib: /opt/pytorch/build/lib/libcaffe2_detectron_ops_gpu.so
[E init_intrinsics_check.cc:43] CPU feature avx is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
[E init_intrinsics_check.cc:43] CPU feature avx2 is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
[E init_intrinsics_check.cc:43] CPU feature fma is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
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: /opt/detectron/Ultrasonic_train/train/Ultrasonic_train:Ultrasonic_val/generalized_rcnn/model_final.pkl
INFO net.py:  96: conv1_w loaded from weights file into gpu_0/conv1_w: (64, 3, 7, 7)
INFO net.py:  96: res_conv1_bn_s loaded from weights file into gpu_0/res_conv1_bn_s: (64,)
INFO net.py:  96: res_conv1_bn_b loaded from weights file into gpu_0/res_conv1_bn_b: (64,)
INFO net.py:  96: res2_0_branch2a_w loaded from weights file into gpu_0/res2_0_branch2a_w: (64, 64, 1, 1)
INFO net.py:  96: res2_0_branch2a_bn_s loaded from weights file into gpu_0/res2_0_branch2a_bn_s: (64,)
INFO net.py:  96: res2_0_branch2a_bn_b loaded from weights file into gpu_0/res2_0_branch2a_bn_b: (64,)
INFO net.py:  96: res2_0_branch2b_w loaded from weights file into gpu_0/res2_0_branch2b_w: (64, 64, 3, 3)
INFO net.py:  96: res2_0_branch2b_bn_s loaded from weights file into gpu_0/res2_0_branch2b_bn_s: (64,)
INFO net.py:  96: res2_0_branch2b_bn_b loaded from weights file into gpu_0/res2_0_branch2b_bn_b: (64,)
INFO net.py:  96: res2_0_branch2c_w loaded from weights file into gpu_0/res2_0_branch2c_w: (256, 64, 1, 1)
INFO net.py:  96: res2_0_branch2c_bn_s loaded from weights file into gpu_0/res2_0_branch2c_bn_s: (256,)
INFO net.py:  96: res2_0_branch2c_bn_b loaded from weights file into gpu_0/res2_0_branch2c_bn_b: (256,)
INFO net.py:  96: res2_0_branch1_w loaded from weights file into gpu_0/res2_0_branch1_w: (256, 64, 1, 1)
INFO net.py:  96: res2_0_branch1_bn_s loaded from weights file into gpu_0/res2_0_branch1_bn_s: (256,)
INFO net.py:  96: res2_0_branch1_bn_b loaded from weights file into gpu_0/res2_0_branch1_bn_b: (256,)
INFO net.py:  96: res2_1_branch2a_w loaded from weights file into gpu_0/res2_1_branch2a_w: (64, 256, 1, 1)
INFO net.py:  96: res2_1_branch2a_bn_s loaded from weights file into gpu_0/res2_1_branch2a_bn_s: (64,)
INFO net.py:  96: res2_1_branch2a_bn_b loaded from weights file into gpu_0/res2_1_branch2a_bn_b: (64,)
INFO net.py:  96: res2_1_branch2b_w loaded from weights file into gpu_0/res2_1_branch2b_w: (64, 64, 3, 3)
INFO net.py:  96: res2_1_branch2b_bn_s loaded from weights file into gpu_0/res2_1_branch2b_bn_s: (64,)
INFO net.py:  96: res2_1_branch2b_bn_b loaded from weights file into gpu_0/res2_1_branch2b_bn_b: (64,)
INFO net.py:  96: res2_1_branch2c_w loaded from weights file into gpu_0/res2_1_branch2c_w: (256, 64, 1, 1)
INFO net.py:  96: res2_1_branch2c_bn_s loaded from weights file into gpu_0/res2_1_branch2c_bn_s: (256,)
INFO net.py:  96: res2_1_branch2c_bn_b loaded from weights file into gpu_0/res2_1_branch2c_bn_b: (256,)
INFO net.py:  96: res2_2_branch2a_w loaded from weights file into gpu_0/res2_2_branch2a_w: (64, 256, 1, 1)
INFO net.py:  96: res2_2_branch2a_bn_s loaded from weights file into gpu_0/res2_2_branch2a_bn_s: (64,)
INFO net.py:  96: res2_2_branch2a_bn_b loaded from weights file into gpu_0/res2_2_branch2a_bn_b: (64,)
INFO net.py:  96: res2_2_branch2b_w loaded from weights file into gpu_0/res2_2_branch2b_w: (64, 64, 3, 3)
INFO net.py:  96: res2_2_branch2b_bn_s loaded from weights file into gpu_0/res2_2_branch2b_bn_s: (64,)
INFO net.py:  96: res2_2_branch2b_bn_b loaded from weights file into gpu_0/res2_2_branch2b_bn_b: (64,)
INFO net.py:  96: res2_2_branch2c_w loaded from weights file into gpu_0/res2_2_branch2c_w: (256, 64, 1, 1)
INFO net.py:  96: res2_2_branch2c_bn_s loaded from weights file into gpu_0/res2_2_branch2c_bn_s: (256,)
INFO net.py:  96: res2_2_branch2c_bn_b loaded from weights file into gpu_0/res2_2_branch2c_bn_b: (256,)
INFO net.py:  96: res3_0_branch2a_w [+ momentum] loaded from weights file into gpu_0/res3_0_branch2a_w: (128, 256, 1, 1)
INFO net.py:  96: res3_0_branch2a_bn_s loaded from weights file into gpu_0/res3_0_branch2a_bn_s: (128,)
INFO net.py:  96: res3_0_branch2a_bn_b loaded from weights file into gpu_0/res3_0_branch2a_bn_b: (128,)
INFO net.py:  96: res3_0_branch2b_w [+ momentum] loaded from weights file into gpu_0/res3_0_branch2b_w: (128, 128, 3, 3)
INFO net.py:  96: res3_0_branch2b_bn_s loaded from weights file into gpu_0/res3_0_branch2b_bn_s: (128,)
INFO net.py:  96: res3_0_branch2b_bn_b loaded from weights file into gpu_0/res3_0_branch2b_bn_b: (128,)
INFO net.py:  96: res3_0_branch2c_w [+ momentum] loaded from weights file into gpu_0/res3_0_branch2c_w: (512, 128, 1, 1)
INFO net.py:  96: res3_0_branch2c_bn_s loaded from weights file into gpu_0/res3_0_branch2c_bn_s: (512,)
INFO net.py:  96: res3_0_branch2c_bn_b loaded from weights file into gpu_0/res3_0_branch2c_bn_b: (512,)
INFO net.py:  96: res3_0_branch1_w [+ momentum] loaded from weights file into gpu_0/res3_0_branch1_w: (512, 256, 1, 1)
INFO net.py:  96: res3_0_branch1_bn_s loaded from weights file into gpu_0/res3_0_branch1_bn_s: (512,)
INFO net.py:  96: res3_0_branch1_bn_b loaded from weights file into gpu_0/res3_0_branch1_bn_b: (512,)
INFO net.py:  96: res3_1_branch2a_w [+ momentum] loaded from weights file into gpu_0/res3_1_branch2a_w: (128, 512, 1, 1)
INFO net.py:  96: res3_1_branch2a_bn_s loaded from weights file into gpu_0/res3_1_branch2a_bn_s: (128,)
INFO net.py:  96: res3_1_branch2a_bn_b loaded from weights file into gpu_0/res3_1_branch2a_bn_b: (128,)
INFO net.py:  96: res3_1_branch2b_w [+ momentum] loaded from weights file into gpu_0/res3_1_branch2b_w: (128, 128, 3, 3)
INFO net.py:  96: res3_1_branch2b_bn_s loaded from weights file into gpu_0/res3_1_branch2b_bn_s: (128,)
INFO net.py:  96: res3_1_branch2b_bn_b loaded from weights file into gpu_0/res3_1_branch2b_bn_b: (128,)
INFO net.py:  96: res3_1_branch2c_w [+ momentum] loaded from weights file into gpu_0/res3_1_branch2c_w: (512, 128, 1, 1)
INFO net.py:  96: res3_1_branch2c_bn_s loaded from weights file into gpu_0/res3_1_branch2c_bn_s: (512,)
INFO net.py:  96: res3_1_branch2c_bn_b loaded from weights file into gpu_0/res3_1_branch2c_bn_b: (512,)
INFO net.py:  96: res3_2_branch2a_w [+ momentum] loaded from weights file into gpu_0/res3_2_branch2a_w: (128, 512, 1, 1)
INFO net.py:  96: res3_2_branch2a_bn_s loaded from weights file into gpu_0/res3_2_branch2a_bn_s: (128,)
INFO net.py:  96: res3_2_branch2a_bn_b loaded from weights file into gpu_0/res3_2_branch2a_bn_b: (128,)
INFO net.py:  96: res3_2_branch2b_w [+ momentum] loaded from weights file into gpu_0/res3_2_branch2b_w: (128, 128, 3, 3)
INFO net.py:  96: res3_2_branch2b_bn_s loaded from weights file into gpu_0/res3_2_branch2b_bn_s: (128,)
INFO net.py:  96: res3_2_branch2b_bn_b loaded from weights file into gpu_0/res3_2_branch2b_bn_b: (128,)
INFO net.py:  96: res3_2_branch2c_w [+ momentum] loaded from weights file into gpu_0/res3_2_branch2c_w: (512, 128, 1, 1)
INFO net.py:  96: res3_2_branch2c_bn_s loaded from weights file into gpu_0/res3_2_branch2c_bn_s: (512,)
INFO net.py:  96: res3_2_branch2c_bn_b loaded from weights file into gpu_0/res3_2_branch2c_bn_b: (512,)
INFO net.py:  96: res3_3_branch2a_w [+ momentum] loaded from weights file into gpu_0/res3_3_branch2a_w: (128, 512, 1, 1)
INFO net.py:  96: res3_3_branch2a_bn_s loaded from weights file into gpu_0/res3_3_branch2a_bn_s: (128,)
INFO net.py:  96: res3_3_branch2a_bn_b loaded from weights file into gpu_0/res3_3_branch2a_bn_b: (128,)
INFO net.py:  96: res3_3_branch2b_w [+ momentum] loaded from weights file into gpu_0/res3_3_branch2b_w: (128, 128, 3, 3)
INFO net.py:  96: res3_3_branch2b_bn_s loaded from weights file into gpu_0/res3_3_branch2b_bn_s: (128,)
INFO net.py:  96: res3_3_branch2b_bn_b loaded from weights file into gpu_0/res3_3_branch2b_bn_b: (128,)
INFO net.py:  96: res3_3_branch2c_w [+ momentum] loaded from weights file into gpu_0/res3_3_branch2c_w: (512, 128, 1, 1)
INFO net.py:  96: res3_3_branch2c_bn_s loaded from weights file into gpu_0/res3_3_branch2c_bn_s: (512,)
INFO net.py:  96: res3_3_branch2c_bn_b loaded from weights file into gpu_0/res3_3_branch2c_bn_b: (512,)
INFO net.py:  96: res4_0_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_0_branch2a_w: (256, 512, 1, 1)
INFO net.py:  96: res4_0_branch2a_bn_s loaded from weights file into gpu_0/res4_0_branch2a_bn_s: (256,)
INFO net.py:  96: res4_0_branch2a_bn_b loaded from weights file into gpu_0/res4_0_branch2a_bn_b: (256,)
INFO net.py:  96: res4_0_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_0_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_0_branch2b_bn_s loaded from weights file into gpu_0/res4_0_branch2b_bn_s: (256,)
INFO net.py:  96: res4_0_branch2b_bn_b loaded from weights file into gpu_0/res4_0_branch2b_bn_b: (256,)
INFO net.py:  96: res4_0_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_0_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_0_branch2c_bn_s loaded from weights file into gpu_0/res4_0_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_0_branch2c_bn_b loaded from weights file into gpu_0/res4_0_branch2c_bn_b: (1024,)
INFO net.py:  96: res4_0_branch1_w [+ momentum] loaded from weights file into gpu_0/res4_0_branch1_w: (1024, 512, 1, 1)
INFO net.py:  96: res4_0_branch1_bn_s loaded from weights file into gpu_0/res4_0_branch1_bn_s: (1024,)
INFO net.py:  96: res4_0_branch1_bn_b loaded from weights file into gpu_0/res4_0_branch1_bn_b: (1024,)
INFO net.py:  96: res4_1_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_1_branch2a_w: (256, 1024, 1, 1)
INFO net.py:  96: res4_1_branch2a_bn_s loaded from weights file into gpu_0/res4_1_branch2a_bn_s: (256,)
INFO net.py:  96: res4_1_branch2a_bn_b loaded from weights file into gpu_0/res4_1_branch2a_bn_b: (256,)
INFO net.py:  96: res4_1_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_1_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_1_branch2b_bn_s loaded from weights file into gpu_0/res4_1_branch2b_bn_s: (256,)
INFO net.py:  96: res4_1_branch2b_bn_b loaded from weights file into gpu_0/res4_1_branch2b_bn_b: (256,)
INFO net.py:  96: res4_1_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_1_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_1_branch2c_bn_s loaded from weights file into gpu_0/res4_1_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_1_branch2c_bn_b loaded from weights file into gpu_0/res4_1_branch2c_bn_b: (1024,)
INFO net.py:  96: res4_2_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_2_branch2a_w: (256, 1024, 1, 1)
INFO net.py:  96: res4_2_branch2a_bn_s loaded from weights file into gpu_0/res4_2_branch2a_bn_s: (256,)
INFO net.py:  96: res4_2_branch2a_bn_b loaded from weights file into gpu_0/res4_2_branch2a_bn_b: (256,)
INFO net.py:  96: res4_2_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_2_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_2_branch2b_bn_s loaded from weights file into gpu_0/res4_2_branch2b_bn_s: (256,)
INFO net.py:  96: res4_2_branch2b_bn_b loaded from weights file into gpu_0/res4_2_branch2b_bn_b: (256,)
INFO net.py:  96: res4_2_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_2_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_2_branch2c_bn_s loaded from weights file into gpu_0/res4_2_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_2_branch2c_bn_b loaded from weights file into gpu_0/res4_2_branch2c_bn_b: (1024,)
INFO net.py:  96: res4_3_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_3_branch2a_w: (256, 1024, 1, 1)
INFO net.py:  96: res4_3_branch2a_bn_s loaded from weights file into gpu_0/res4_3_branch2a_bn_s: (256,)
INFO net.py:  96: res4_3_branch2a_bn_b loaded from weights file into gpu_0/res4_3_branch2a_bn_b: (256,)
INFO net.py:  96: res4_3_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_3_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_3_branch2b_bn_s loaded from weights file into gpu_0/res4_3_branch2b_bn_s: (256,)
INFO net.py:  96: res4_3_branch2b_bn_b loaded from weights file into gpu_0/res4_3_branch2b_bn_b: (256,)
INFO net.py:  96: res4_3_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_3_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_3_branch2c_bn_s loaded from weights file into gpu_0/res4_3_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_3_branch2c_bn_b loaded from weights file into gpu_0/res4_3_branch2c_bn_b: (1024,)
INFO net.py:  96: res4_4_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_4_branch2a_w: (256, 1024, 1, 1)
INFO net.py:  96: res4_4_branch2a_bn_s loaded from weights file into gpu_0/res4_4_branch2a_bn_s: (256,)
INFO net.py:  96: res4_4_branch2a_bn_b loaded from weights file into gpu_0/res4_4_branch2a_bn_b: (256,)
INFO net.py:  96: res4_4_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_4_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_4_branch2b_bn_s loaded from weights file into gpu_0/res4_4_branch2b_bn_s: (256,)
INFO net.py:  96: res4_4_branch2b_bn_b loaded from weights file into gpu_0/res4_4_branch2b_bn_b: (256,)
INFO net.py:  96: res4_4_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_4_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_4_branch2c_bn_s loaded from weights file into gpu_0/res4_4_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_4_branch2c_bn_b loaded from weights file into gpu_0/res4_4_branch2c_bn_b: (1024,)
INFO net.py:  96: res4_5_branch2a_w [+ momentum] loaded from weights file into gpu_0/res4_5_branch2a_w: (256, 1024, 1, 1)
INFO net.py:  96: res4_5_branch2a_bn_s loaded from weights file into gpu_0/res4_5_branch2a_bn_s: (256,)
INFO net.py:  96: res4_5_branch2a_bn_b loaded from weights file into gpu_0/res4_5_branch2a_bn_b: (256,)
INFO net.py:  96: res4_5_branch2b_w [+ momentum] loaded from weights file into gpu_0/res4_5_branch2b_w: (256, 256, 3, 3)
INFO net.py:  96: res4_5_branch2b_bn_s loaded from weights file into gpu_0/res4_5_branch2b_bn_s: (256,)
INFO net.py:  96: res4_5_branch2b_bn_b loaded from weights file into gpu_0/res4_5_branch2b_bn_b: (256,)
INFO net.py:  96: res4_5_branch2c_w [+ momentum] loaded from weights file into gpu_0/res4_5_branch2c_w: (1024, 256, 1, 1)
INFO net.py:  96: res4_5_branch2c_bn_s loaded from weights file into gpu_0/res4_5_branch2c_bn_s: (1024,)
INFO net.py:  96: res4_5_branch2c_bn_b loaded from weights file into gpu_0/res4_5_branch2c_bn_b: (1024,)
INFO net.py:  96: conv_rpn_w [+ momentum] loaded from weights file into gpu_0/conv_rpn_w: (1024, 1024, 3, 3)
INFO net.py:  96: conv_rpn_b [+ momentum] loaded from weights file into gpu_0/conv_rpn_b: (1024,)
INFO net.py:  96: rpn_cls_logits_w [+ momentum] loaded from weights file into gpu_0/rpn_cls_logits_w: (15, 1024, 1, 1)
INFO net.py:  96: rpn_cls_logits_b [+ momentum] loaded from weights file into gpu_0/rpn_cls_logits_b: (15,)
INFO net.py:  96: rpn_bbox_pred_w [+ momentum] loaded from weights file into gpu_0/rpn_bbox_pred_w: (60, 1024, 1, 1)
INFO net.py:  96: rpn_bbox_pred_b [+ momentum] loaded from weights file into gpu_0/rpn_bbox_pred_b: (60,)
INFO net.py:  96: res5_0_branch2a_w [+ momentum] loaded from weights file into gpu_0/res5_0_branch2a_w: (512, 1024, 1, 1)
INFO net.py:  96: res5_0_branch2a_bn_s loaded from weights file into gpu_0/res5_0_branch2a_bn_s: (512,)
INFO net.py:  96: res5_0_branch2a_bn_b loaded from weights file into gpu_0/res5_0_branch2a_bn_b: (512,)
INFO net.py:  96: res5_0_branch2b_w [+ momentum] loaded from weights file into gpu_0/res5_0_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_0_branch2b_bn_s loaded from weights file into gpu_0/res5_0_branch2b_bn_s: (512,)
INFO net.py:  96: res5_0_branch2b_bn_b loaded from weights file into gpu_0/res5_0_branch2b_bn_b: (512,)
INFO net.py:  96: res5_0_branch2c_w [+ momentum] loaded from weights file into gpu_0/res5_0_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_0_branch2c_bn_s loaded from weights file into gpu_0/res5_0_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_0_branch2c_bn_b loaded from weights file into gpu_0/res5_0_branch2c_bn_b: (2048,)
INFO net.py:  96: res5_0_branch1_w [+ momentum] loaded from weights file into gpu_0/res5_0_branch1_w: (2048, 1024, 1, 1)
INFO net.py:  96: res5_0_branch1_bn_s loaded from weights file into gpu_0/res5_0_branch1_bn_s: (2048,)
INFO net.py:  96: res5_0_branch1_bn_b loaded from weights file into gpu_0/res5_0_branch1_bn_b: (2048,)
INFO net.py:  96: res5_1_branch2a_w [+ momentum] loaded from weights file into gpu_0/res5_1_branch2a_w: (512, 2048, 1, 1)
INFO net.py:  96: res5_1_branch2a_bn_s loaded from weights file into gpu_0/res5_1_branch2a_bn_s: (512,)
INFO net.py:  96: res5_1_branch2a_bn_b loaded from weights file into gpu_0/res5_1_branch2a_bn_b: (512,)
INFO net.py:  96: res5_1_branch2b_w [+ momentum] loaded from weights file into gpu_0/res5_1_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_1_branch2b_bn_s loaded from weights file into gpu_0/res5_1_branch2b_bn_s: (512,)
INFO net.py:  96: res5_1_branch2b_bn_b loaded from weights file into gpu_0/res5_1_branch2b_bn_b: (512,)
INFO net.py:  96: res5_1_branch2c_w [+ momentum] loaded from weights file into gpu_0/res5_1_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_1_branch2c_bn_s loaded from weights file into gpu_0/res5_1_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_1_branch2c_bn_b loaded from weights file into gpu_0/res5_1_branch2c_bn_b: (2048,)
INFO net.py:  96: res5_2_branch2a_w [+ momentum] loaded from weights file into gpu_0/res5_2_branch2a_w: (512, 2048, 1, 1)
INFO net.py:  96: res5_2_branch2a_bn_s loaded from weights file into gpu_0/res5_2_branch2a_bn_s: (512,)
INFO net.py:  96: res5_2_branch2a_bn_b loaded from weights file into gpu_0/res5_2_branch2a_bn_b: (512,)
INFO net.py:  96: res5_2_branch2b_w [+ momentum] loaded from weights file into gpu_0/res5_2_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_2_branch2b_bn_s loaded from weights file into gpu_0/res5_2_branch2b_bn_s: (512,)
INFO net.py:  96: res5_2_branch2b_bn_b loaded from weights file into gpu_0/res5_2_branch2b_bn_b: (512,)
INFO net.py:  96: res5_2_branch2c_w [+ momentum] loaded from weights file into gpu_0/res5_2_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_2_branch2c_bn_s loaded from weights file into gpu_0/res5_2_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_2_branch2c_bn_b loaded from weights file into gpu_0/res5_2_branch2c_bn_b: (2048,)
INFO net.py:  96: cls_score_w [+ momentum] loaded from weights file into gpu_0/cls_score_w: (4, 2048)
INFO net.py:  96: cls_score_b [+ momentum] loaded from weights file into gpu_0/cls_score_b: (4,)
INFO net.py:  96: bbox_pred_w [+ momentum] loaded from weights file into gpu_0/bbox_pred_w: (16, 2048)
INFO net.py:  96: bbox_pred_b [+ momentum] loaded from weights file into gpu_0/bbox_pred_b: (16,)
INFO net.py:  96: res5_0_branch2a_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_0_branch2a_w: (512, 1024, 1, 1)
INFO net.py:  96: res5_0_branch2a_bn_s loaded from weights file into gpu_0/_[mask]_res5_0_branch2a_bn_s: (512,)
INFO net.py:  96: res5_0_branch2a_bn_b loaded from weights file into gpu_0/_[mask]_res5_0_branch2a_bn_b: (512,)
INFO net.py:  96: res5_0_branch2b_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_0_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_0_branch2b_bn_s loaded from weights file into gpu_0/_[mask]_res5_0_branch2b_bn_s: (512,)
INFO net.py:  96: res5_0_branch2b_bn_b loaded from weights file into gpu_0/_[mask]_res5_0_branch2b_bn_b: (512,)
INFO net.py:  96: res5_0_branch2c_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_0_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_0_branch2c_bn_s loaded from weights file into gpu_0/_[mask]_res5_0_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_0_branch2c_bn_b loaded from weights file into gpu_0/_[mask]_res5_0_branch2c_bn_b: (2048,)
INFO net.py:  96: res5_0_branch1_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_0_branch1_w: (2048, 1024, 1, 1)
INFO net.py:  96: res5_0_branch1_bn_s loaded from weights file into gpu_0/_[mask]_res5_0_branch1_bn_s: (2048,)
INFO net.py:  96: res5_0_branch1_bn_b loaded from weights file into gpu_0/_[mask]_res5_0_branch1_bn_b: (2048,)
INFO net.py:  96: res5_1_branch2a_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_1_branch2a_w: (512, 2048, 1, 1)
INFO net.py:  96: res5_1_branch2a_bn_s loaded from weights file into gpu_0/_[mask]_res5_1_branch2a_bn_s: (512,)
INFO net.py:  96: res5_1_branch2a_bn_b loaded from weights file into gpu_0/_[mask]_res5_1_branch2a_bn_b: (512,)
INFO net.py:  96: res5_1_branch2b_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_1_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_1_branch2b_bn_s loaded from weights file into gpu_0/_[mask]_res5_1_branch2b_bn_s: (512,)
INFO net.py:  96: res5_1_branch2b_bn_b loaded from weights file into gpu_0/_[mask]_res5_1_branch2b_bn_b: (512,)
INFO net.py:  96: res5_1_branch2c_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_1_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_1_branch2c_bn_s loaded from weights file into gpu_0/_[mask]_res5_1_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_1_branch2c_bn_b loaded from weights file into gpu_0/_[mask]_res5_1_branch2c_bn_b: (2048,)
INFO net.py:  96: res5_2_branch2a_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_2_branch2a_w: (512, 2048, 1, 1)
INFO net.py:  96: res5_2_branch2a_bn_s loaded from weights file into gpu_0/_[mask]_res5_2_branch2a_bn_s: (512,)
INFO net.py:  96: res5_2_branch2a_bn_b loaded from weights file into gpu_0/_[mask]_res5_2_branch2a_bn_b: (512,)
INFO net.py:  96: res5_2_branch2b_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_2_branch2b_w: (512, 512, 3, 3)
INFO net.py:  96: res5_2_branch2b_bn_s loaded from weights file into gpu_0/_[mask]_res5_2_branch2b_bn_s: (512,)
INFO net.py:  96: res5_2_branch2b_bn_b loaded from weights file into gpu_0/_[mask]_res5_2_branch2b_bn_b: (512,)
INFO net.py:  96: res5_2_branch2c_w [+ momentum] loaded from weights file into gpu_0/_[mask]_res5_2_branch2c_w: (2048, 512, 1, 1)
INFO net.py:  96: res5_2_branch2c_bn_s loaded from weights file into gpu_0/_[mask]_res5_2_branch2c_bn_s: (2048,)
INFO net.py:  96: res5_2_branch2c_bn_b loaded from weights file into gpu_0/_[mask]_res5_2_branch2c_bn_b: (2048,)
INFO net.py:  96: conv5_mask_w [+ momentum] loaded from weights file into gpu_0/conv5_mask_w: (2048, 256, 2, 2)
INFO net.py:  96: conv5_mask_b [+ momentum] loaded from weights file into gpu_0/conv5_mask_b: (256,)
INFO net.py:  96: mask_fcn_logits_w [+ momentum] loaded from weights file into gpu_0/mask_fcn_logits_w: (4, 256, 1, 1)
INFO net.py:  96: mask_fcn_logits_b [+ momentum] loaded from weights file into gpu_0/mask_fcn_logits_b: (4,)
INFO net.py: 133: res3_1_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res2_2_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res3_3_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_4_branch2b_b preserved in workspace (unused)
INFO net.py: 133: conv1_b preserved in workspace (unused)
INFO net.py: 133: fc1000_b preserved in workspace (unused)
INFO net.py: 133: fc1000_w preserved in workspace (unused)
INFO net.py: 133: res3_2_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_0_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_5_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res4_3_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_0_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res2_0_branch1_b preserved in workspace (unused)
INFO net.py: 133: res2_1_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_0_branch1_b preserved in workspace (unused)
INFO net.py: 133: res2_2_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res5_1_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_5_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res3_0_branch1_b preserved in workspace (unused)
INFO net.py: 133: res4_2_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res2_0_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res2_0_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res2_1_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res4_1_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_0_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res4_1_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res4_0_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res5_2_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_5_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_2_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res2_1_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res3_1_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res3_0_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res2_2_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res3_1_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_1_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_1_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_4_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_2_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res3_3_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res3_2_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res3_3_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res4_1_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_2_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_4_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res4_3_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_0_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res5_2_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_0_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res3_0_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res5_0_branch1_b preserved in workspace (unused)
INFO net.py: 133: res3_0_branch2c_b preserved in workspace (unused)
INFO net.py: 133: res2_0_branch2a_b preserved in workspace (unused)
INFO net.py: 133: res3_2_branch2b_b preserved in workspace (unused)
INFO net.py: 133: res4_3_branch2c_b preserved in workspace (unused)
[I net_dag_utils.cc:102] Operator graph pruning prior to chain compute took: 7.8446e-05 secs
[I net_dag_utils.cc:102] Operator graph pruning prior to chain compute took: 5.596e-05 secs
[I net_dag_utils.cc:102] Operator graph pruning prior to chain compute took: 1.8564e-05 secs
INFO infer_simple.py: 135: Processing /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val/0095.png -> ./Ultrasonic_train/inference/0095.png.pdf
[I net_async_base.cc:437] Using specified CPU pool size: 4; NUMA node id: -1
[I net_async_base.cc:442] Created new CPU pool, size: 4; NUMA node id: -1
[I net_async_base.cc:437] Using specified CPU pool size: 4; NUMA node id: -1
[I net_async_base.cc:442] Created new CPU pool, size: 4; NUMA node id: -1
INFO infer_simple.py: 143: Inference time: 1.364s
INFO infer_simple.py: 145:  | im_detect_bbox: 1.354s
INFO infer_simple.py: 145:  | misc_mask: 0.003s
INFO infer_simple.py: 145:  | im_detect_mask: 0.007s
INFO infer_simple.py: 145:  | misc_bbox: 0.001s
INFO infer_simple.py: 148:  \ Note: inference on the first image will be slower than the rest (caches and auto-tuning need to warm up)
INFO infer_simple.py: 135: Processing /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val/0094.png -> ./Ultrasonic_train/inference/0094.png.pdf
INFO infer_simple.py: 143: Inference time: 0.413s
INFO infer_simple.py: 145:  | im_detect_bbox: 0.404s
INFO infer_simple.py: 145:  | misc_mask: 0.004s
INFO infer_simple.py: 145:  | im_detect_mask: 0.004s
INFO infer_simple.py: 145:  | misc_bbox: 0.001s
INFO infer_simple.py: 135: Processing /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val/0091.png -> ./Ultrasonic_train/inference/0091.png.pdf
INFO infer_simple.py: 143: Inference time: 0.335s
INFO infer_simple.py: 145:  | im_detect_bbox: 0.327s
INFO infer_simple.py: 145:  | misc_mask: 0.003s
INFO infer_simple.py: 145:  | im_detect_mask: 0.004s
INFO infer_simple.py: 145:  | misc_bbox: 0.000s
INFO infer_simple.py: 135: Processing /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val/0093.png -> ./Ultrasonic_train/inference/0093.png.pdf
INFO infer_simple.py: 143: Inference time: 0.353s
INFO infer_simple.py: 145:  | im_detect_bbox: 0.346s
INFO infer_simple.py: 145:  | misc_mask: 0.003s
INFO infer_simple.py: 145:  | im_detect_mask: 0.003s
INFO infer_simple.py: 145:  | misc_bbox: 0.001s
INFO infer_simple.py: 135: Processing /opt/detectron/detectron/datasets/data/Ultrasonic_Dataset/val/0092.png -> ./Ultrasonic_train/inference/0092.png.pdf
INFO infer_simple.py: 143: Inference time: 0.348s
INFO infer_simple.py: 145:  | im_detect_bbox: 0.341s
INFO infer_simple.py: 145:  | misc_mask: 0.004s
INFO infer_simple.py: 145:  | im_detect_mask: 0.003s
INFO infer_simple.py: 145:  | misc_bbox: 0.001s

看一下效果啦:

猜你喜欢

转载自blog.csdn.net/o0haidee0o/article/details/83577697