diff --git a/docs/en/benchmark.md b/docs/en/benchmark.md index 6c00a456f..73533a6d8 100644 --- a/docs/en/benchmark.md +++ b/docs/en/benchmark.md @@ -557,7 +557,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 77.74 77.75 77.63 - ? + 77.73 $MMCLS_DIR/configs/resnext/resnext50_32x4d_b32x8_imagenet.py @@ -567,7 +567,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 93.84 93.83 93.72 - ? + 93.84 ShuffleNetV1 1.0x @@ -578,7 +578,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 68.13 68.13 67.71 - ? + 68.11 $MMCLS_DIR/configs/shufflenet_v1/shufflenet_v1_1x_b64x16_linearlr_bn_nowd_imagenet.py @@ -588,7 +588,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 87.81 87.81 87.58 - ? + 87.80 @@ -600,7 +600,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 69.55 69.54 69.10 - ? + 69.54 $MMCLS_DIR/configs/shufflenet_v2/shufflenet_v2_1x_b64x16_linearlr_bn_nowd_imagenet.py @@ -610,7 +610,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 88.92 88.91 88.58 - ? + 88.92 @@ -623,8 +623,8 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 71.86 71.87 70.91 - ? - $MMEDIT_DIR/configs/restorers/real_esrgan/realesrnet_c64b23g32_12x4_lr2e-4_1000k_df2k_ost.py + 71.84 + $MMCLS_DIR/configs/mobilenet_v2/mobilenet_v2_b32x8_imagenet.py top-5 @@ -633,7 +633,7 @@ Users can directly test the performance through [how_to_evaluate_a_model.md](doc 90.42 90.40 89.85 - ? + 90.41 diff --git a/docs/en/tutorials/how_to_convert_model.md b/docs/en/tutorials/how_to_convert_model.md index 2f13a62da..46cdefe8e 100644 --- a/docs/en/tutorials/how_to_convert_model.md +++ b/docs/en/tutorials/how_to_convert_model.md @@ -84,38 +84,38 @@ You can try to evaluate model, referring to [how_to_evaluate_a_model](./how_to_e ### List of supported models exportable to other backends -The table below lists the models that are guaranteed to be exportable to other backend. +The table below lists the models that are guaranteed to be exportable to other backends. -| Model | codebase | OnnxRuntime | TensorRT | NCNN | PPLNN | OpenVINO | model config file(example) | -|--------------------|------------------|:-----------:|:--------:|:----:|:-----:|:--------:|:--------------------------------------------------------------------------------------| -| RetinaNet | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/retinanet/retinanet_r50_fpn_1x_coco.py | -| Faster R-CNN | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py | -| YOLOv3 | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/yolo/yolov3_d53_mstrain-608_273e_coco.py | -| YOLOX | MMDetection | Y | Y | ? | ? | Y | $MMDET_DIR/configs/yolox/yolox_tiny_8x8_300e_coco.py | -| FCOS | MMDetection | Y | Y | Y | N | Y | $MMDET_DIR/configs/fcos/fcos_r50_caffe_fpn_gn-head_4x4_1x_coco. | -| FSAF | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/fsaf/fsaf_r50_fpn_1x_coco.py | -| Mask R-CNN | MMDetection | Y | Y | N | Y | Y | $MMDET_DIR/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py | -| SSD | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/ssd/ssd300_coco.py | -| FoveaBox | MMDetection | Y | ? | ? | ? | Y | $MMDET_DIR/configs/foveabox/fovea_r50_fpn_4x4_1x_coco.py | -| ATSS | MMDetection | Y | Y | ? | ? | Y | $MMDET_DIR/configs/atss/atss_r50_fpn_1x_coco.py | -| Cascade R-CNN | MMDetection | Y | ? | ? | Y | Y | $MMDET_DIR/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py | -| Cascade Mask R-CNN | MMDetection | Y | ? | ? | Y | Y | $MMDET_DIR/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.py | -| VFNet | MMDetection | N | ? | ? | ? | Y | $MMDET_DIR/configs/vfnet/vfnet_r50_fpn_1x_coco.py | -| ResNet | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/resnet/resnet18_b32x8_imagenet.py | -| ResNeXt | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/resnext/resnext50_32x4d_b32x8_imagenet.py | -| SE-ResNet | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/seresnet/seresnet50_b32x8_imagenet.py | -| MobileNetV2 | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/mobilenet_v2/mobilenet_v2_b32x8_imagenet.py | -| ShuffleNetV1 | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/shufflenet_v1/shufflenet_v1_1x_b64x16_linearlr_bn_nowd_imagenet.py | -| ShuffleNetV2 | MMClassification | Y | Y | Y | Y | N | $MMCLS_DIR/configs/shufflenet_v2/shufflenet_v2_1x_b64x16_linearlr_bn_nowd_imagenet.py | -| FCN | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/fcn/fcn_r50-d8_512x1024_40k_cityscapes.py | -| PSPNet | MMSegmentation | Y | Y | N | Y | Y | $MMSEG_DIR/configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py | -| DeepLabV3 | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/deeplabv3/deeplabv3_r50-d8_512x1024_40k_cityscapes.py | -| DeepLabV3+ | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py | -| Fast-SCNN | MMSegmentation | Y | Y | N | Y | Y | ${MMSEG_DIR}/configs/fastscnn/fast_scnn_lr0.12_8x4_160k_cityscapes.py | -| SRCNN | MMEditing | Y | Y | N | Y | N | $MMSEG_DIR/configs/restorers/srcnn/srcnn_x4k915_g1_1000k_div2k.py | -| ESRGAN | MMEditing | Y | Y | N | Y | N | $MMSEG_DIR/configs/restorers/esrgan/esrgan_psnr_x4c64b23g32_g1_1000k_div2k.py | -| DBNet | MMOCR | Y | Y | Y | Y | Y | $MMOCR_DIR/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | -| CRNN | MMOCR | Y | Y | Y | Y | N | $MMOCR_DIR/configs/textrecog/crnn/crnn_academic_dataset.py | +| Model | codebase | OnnxRuntime | TensorRT | NCNN | PPLNN | OpenVINO | model config file(example) | +| ------------------ | ---------------- | :---------: | :------: | :---: | :---: | :------: | :------------------------------------------------------------------------------------ | +| RetinaNet | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/retinanet/retinanet_r50_fpn_1x_coco.py | +| Faster R-CNN | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py | +| YOLOv3 | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/yolo/yolov3_d53_mstrain-608_273e_coco.py | +| YOLOX | MMDetection | Y | Y | ? | ? | Y | $MMDET_DIR/configs/yolox/yolox_tiny_8x8_300e_coco.py | +| FCOS | MMDetection | Y | Y | Y | N | Y | $MMDET_DIR/configs/fcos/fcos_r50_caffe_fpn_gn-head_4x4_1x_coco. | +| FSAF | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/fsaf/fsaf_r50_fpn_1x_coco.py | +| Mask R-CNN | MMDetection | Y | Y | N | Y | Y | $MMDET_DIR/configs/mask_rcnn/mask_rcnn_r50_fpn_1x_coco.py | +| SSD | MMDetection | Y | Y | Y | Y | Y | $MMDET_DIR/configs/ssd/ssd300_coco.py | +| FoveaBox | MMDetection | Y | ? | ? | ? | Y | $MMDET_DIR/configs/foveabox/fovea_r50_fpn_4x4_1x_coco.py | +| ATSS | MMDetection | Y | Y | ? | ? | Y | $MMDET_DIR/configs/atss/atss_r50_fpn_1x_coco.py | +| Cascade R-CNN | MMDetection | Y | ? | ? | Y | Y | $MMDET_DIR/configs/cascade_rcnn/cascade_rcnn_r50_fpn_1x_coco.py | +| Cascade Mask R-CNN | MMDetection | Y | ? | ? | Y | Y | $MMDET_DIR/configs/cascade_rcnn/cascade_mask_rcnn_r50_fpn_1x_coco.py | +| VFNet | MMDetection | N | ? | ? | ? | Y | $MMDET_DIR/configs/vfnet/vfnet_r50_fpn_1x_coco.py | +| ResNet | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/resnet/resnet18_b32x8_imagenet.py | +| ResNeXt | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/resnext/resnext50_32x4d_b32x8_imagenet.py | +| SE-ResNet | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/seresnet/seresnet50_b32x8_imagenet.py | +| MobileNetV2 | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/mobilenet_v2/mobilenet_v2_b32x8_imagenet.py | +| ShuffleNetV1 | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/shufflenet_v1/shufflenet_v1_1x_b64x16_linearlr_bn_nowd_imagenet.py | +| ShuffleNetV2 | MMClassification | Y | Y | Y | Y | Y | $MMCLS_DIR/configs/shufflenet_v2/shufflenet_v2_1x_b64x16_linearlr_bn_nowd_imagenet.py | +| FCN | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/fcn/fcn_r50-d8_512x1024_40k_cityscapes.py | +| PSPNet | MMSegmentation | Y | Y | N | Y | Y | $MMSEG_DIR/configs/pspnet/pspnet_r50-d8_512x1024_40k_cityscapes.py | +| DeepLabV3 | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/deeplabv3/deeplabv3_r50-d8_512x1024_40k_cityscapes.py | +| DeepLabV3+ | MMSegmentation | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/deeplabv3plus/deeplabv3plus_r50-d8_512x1024_40k_cityscapes.py | +| Fast-SCNN | MMSegmentation | Y | Y | N | Y | Y | ${MMSEG_DIR}/configs/fastscnn/fast_scnn_lr0.12_8x4_160k_cityscapes.py | +| SRCNN | MMEditing | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/restorers/srcnn/srcnn_x4k915_g1_1000k_div2k.py | +| ESRGAN | MMEditing | Y | Y | Y | Y | Y | $MMSEG_DIR/configs/restorers/esrgan/esrgan_psnr_x4c64b23g32_g1_1000k_div2k.py | +| DBNet | MMOCR | Y | Y | Y | Y | Y | $MMOCR_DIR/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | +| CRNN | MMOCR | Y | Y | Y | Y | N | $MMOCR_DIR/configs/textrecog/crnn/crnn_academic_dataset.py | ### Reminders diff --git a/mmdeploy/codebase/mmcls/deploy/classification.py b/mmdeploy/codebase/mmcls/deploy/classification.py index a22e6f312..c3a9bbfb3 100644 --- a/mmdeploy/codebase/mmcls/deploy/classification.py +++ b/mmdeploy/codebase/mmcls/deploy/classification.py @@ -230,7 +230,7 @@ class Classification(BaseTask): if metrics: results = dataset.evaluate(outputs, metrics, metric_options) for k, v in results.items(): - logging.info(f'\n{k} : {v:.2f}') + print(f'\n{k} : {v:.2f}') else: warnings.warn('Evaluation metrics are not specified.') scores = np.vstack(outputs) @@ -243,13 +243,13 @@ class Classification(BaseTask): 'pred_class': pred_class } if not out: - logging.info('\nthe predicted result for the first element is ' - f'pred_score = {pred_score[0]:.2f}, ' - f'pred_label = {pred_label[0]} ' - f'and pred_class = {pred_class[0]}. ' - 'Specify --out to save all results to files.') + print('\nthe predicted result for the first element is ' + f'pred_score = {pred_score[0]:.2f}, ' + f'pred_label = {pred_label[0]} ' + f'and pred_class = {pred_class[0]}. ' + 'Specify --out to save all results to files.') if out: - logging.info(f'\nwriting results to {out}') + print(f'\nwriting results to {out}') mmcv.dump(results, out) def get_preprocess(self) -> Dict: