mmdeploy/docs/en/07-developer-guide/regression_test.md

238 lines
12 KiB
Markdown
Raw Normal View History

# How to do regression test
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
This tutorial describes how to do regression test. The deployment configuration file contains codebase config and inference config.
### 1. Python Environment
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
```shell
pip install -r requirements/tests.txt
```
If pip throw an exception, try to upgrade numpy.
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
```shell
pip install -U numpy
```
## 2. Usage
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```shell
python ./tools/regression_test.py \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
--codebase "${CODEBASE_NAME}" \
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
--backends "${BACKEND}" \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
[--models "${MODELS}"] \
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
--work-dir "${WORK_DIR}" \
--device "${DEVICE}" \
--log-level INFO \
[--performance 或 -p] \
[--checkpoint-dir "$CHECKPOINT_DIR"]
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```
### Description
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
- `--codebase` : The codebase to test, eg.`mmdet`. If you want to test multiple codebase, use `mmcls mmdet ...`
- `--backends` : The backend to test. By default, all `backend`s would be tested. You can use `onnxruntime tesensorrt`to choose several backends. If you also need to test the SDK, you need to configure the `sdk_config` in `tests/regression/${codebase}.yml`.
- `--models` : Specify the model to be tested. All models in `yml` are tested by default. You can also give some model names. For the model name, please refer to the relevant yml configuration file. For example `ResNet SE-ResNet "Mask R-CNN"`. Model name can only contain numbers and letters.
- `--work-dir` : The directory of model convert and report, use `../mmdeploy_regression_working_dir` by default.
- `--checkpoint-dir`: The path of downloaded torch model, use `../mmdeploy_checkpoints` by default.
- `--device` : device type, use `cuda` by default
- `--log-level` : These options are available:`'CRITICAL', 'FATAL', 'ERROR', 'WARN', 'WARNING', 'INFO', 'DEBUG', 'NOTSET'`. The default value is `INFO`.
- `-p` or `--performance` : Test precision or not. If not enabled, only model convert would be tested.
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
### Notes
For Windows user:
1. To use the `&&` connector in shell commands, you need to download `PowerShell 7 Preview 5+`.
2. If you are using conda env, you may need to change `python3` to `python` in regression_test.py because there is `python3.exe` in `%USERPROFILE%\AppData\Local\Microsoft\WindowsApps` directory.
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
## Example
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
1. Test all backends of mmdet and mmpose for **model convert and precision**
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```shell
python ./tools/regression_test.py \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
--codebase mmdet mmpose \
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
--work-dir "../mmdeploy_regression_working_dir" \
--device "cuda" \
--log-level INFO \
--performance
```
2. Test **model convert and precision** of some backends of mmdet and mmpose
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```shell
python ./tools/regression_test.py \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
--codebase mmdet mmpose \
--backends onnxruntime tensorrt \
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
--work-dir "../mmdeploy_regression_working_dir" \
--device "cuda" \
--log-level INFO \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
-p
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```
3. Test some backends of mmdet and mmpose, **only test model convert**
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```shell
python ./tools/regression_test.py \
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
--codebase mmdet mmpose \
--backends onnxruntime tensorrt \
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
--work-dir "../mmdeploy_regression_working_dir" \
--device "cuda" \
--log-level INFO
```
4. Test some models of mmdet and mmcls, **only test model convert**
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
```shell
python ./tools/regression_test.py \
--codebase mmdet mmpose \
--models ResNet SE-ResNet "Mask R-CNN" \
--work-dir "../mmdeploy_regression_working_dir" \
--device "cuda" \
--log-level INFO
```
## 3. Regression Test Tonfiguration
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
### Example and parameter description
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```yaml
globals:
codebase_dir: ../mmocr # codebase path to test
checkpoint_force_download: False # whether to redownload the model even if it already exists
images:
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
img_densetext_det: &img_densetext_det ../mmocr/demo/demo_densetext_det.jpg
img_demo_text_det: &img_demo_text_det ../mmocr/demo/demo_text_det.jpg
img_demo_text_ocr: &img_demo_text_ocr ../mmocr/demo/demo_text_ocr.jpg
img_demo_text_recog: &img_demo_text_recog ../mmocr/demo/demo_text_recog.jpg
metric_info: &metric_info
hmean-iou: # metafile.Results.Metrics
eval_name: hmean-iou # test.py --metrics args
metric_key: 0_hmean-iou:hmean # the key name of eval log
tolerance: 0.1 # tolerated threshold interval
task_name: Text Detection # the name of metafile.Results.Task
dataset: ICDAR2015 # the name of metafile.Results.Dataset
word_acc: # same as hmean-iou, also a kind of metric
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
eval_name: acc
metric_key: 0_word_acc_ignore_case
tolerance: 0.2
task_name: Text Recognition
dataset: IIIT5K
convert_image_det: &convert_image_det # the image that will be used by detection model convert
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
input_img: *img_densetext_det
test_img: *img_demo_text_det
convert_image_rec: &convert_image_rec
input_img: *img_demo_text_recog
test_img: *img_demo_text_recog
backend_test: &default_backend_test True # whether test model precision for backend
sdk: # SDK config
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
sdk_detection_dynamic: &sdk_detection_dynamic configs/mmocr/text-detection/text-detection_sdk_dynamic.py
sdk_recognition_dynamic: &sdk_recognition_dynamic configs/mmocr/text-recognition/text-recognition_sdk_dynamic.py
onnxruntime:
pipeline_ort_recognition_static_fp32: &pipeline_ort_recognition_static_fp32
convert_image: *convert_image_rec # the image used by model conversion
backend_test: *default_backend_test # whether inference on the backend
sdk_config: *sdk_recognition_dynamic # test SDK or not. If it exists, use a specific SDK config for testing
deploy_config: configs/mmocr/text-recognition/text-recognition_onnxruntime_static.py # the deploy cfg path to use, based on mmdeploy path
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
pipeline_ort_recognition_dynamic_fp32: &pipeline_ort_recognition_dynamic_fp32
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
convert_image: *convert_image_rec
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
backend_test: *default_backend_test
sdk_config: *sdk_recognition_dynamic
deploy_config: configs/mmocr/text-recognition/text-recognition_onnxruntime_dynamic.py
pipeline_ort_detection_dynamic_fp32: &pipeline_ort_detection_dynamic_fp32
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
convert_image: *convert_image_det
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
deploy_config: configs/mmocr/text-detection/text-detection_onnxruntime_dynamic.py
tensorrt:
pipeline_trt_recognition_dynamic_fp16: &pipeline_trt_recognition_dynamic_fp16
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
convert_image: *convert_image_rec
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
backend_test: *default_backend_test
sdk_config: *sdk_recognition_dynamic
deploy_config: configs/mmocr/text-recognition/text-recognition_tensorrt-fp16_dynamic-1x32x32-1x32x640.py
pipeline_trt_detection_dynamic_fp16: &pipeline_trt_detection_dynamic_fp16
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
convert_image: *convert_image_det
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
backend_test: *default_backend_test
sdk_config: *sdk_detection_dynamic
deploy_config: configs/mmocr/text-detection/text-detection_tensorrt-fp16_dynamic-320x320-2240x2240.py
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
openvino:
# same as onnxruntime backend configuration
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
ncnn:
# same as onnxruntime backend configuration
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
pplnn:
# same as onnxruntime backend configuration
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
torchscript:
# same as onnxruntime backend configuration
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
models:
- name: crnn # model name
metafile: configs/textrecog/crnn/metafile.yml # the path of model metafile, based on codebase path
codebase_model_config_dir: configs/textrecog/crnn # the basepath of `model_configs`, based on codebase path
model_configs: # the config name to teset
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
- crnn_academic_dataset.py
pipelines: # pipeline name
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
- *pipeline_ort_recognition_dynamic_fp32
- name: dbnet
metafile: configs/textdet/dbnet/metafile.yml
codebase_model_config_dir: configs/textdet/dbnet
model_configs:
- dbnet_r18_fpnc_1200e_icdar2015.py
pipelines:
- *pipeline_ort_detection_dynamic_fp32
- *pipeline_trt_detection_dynamic_fp16
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
# special pipeline can be added like this
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
- convert_image: xxx
backend_test: xxx
sdk_config: xxx
deploy_config: configs/mmocr/text-detection/xxx
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
```
## 4. Generated Report
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
This is an example of mmocr regression test report.
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
| | Model | Model Config | Task | Checkpoint | Dataset | Backend | Deploy Config | Static or Dynamic | Precision Type | Conversion Result | hmean-iou | word_acc | Test Pass |
| --- | ----- | ---------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------ | --------- | --------------- | -------------------------------------------------------------------------------------- | ----------------- | -------------- | ----------------- | --------- | -------- | --------- |
| 0 | crnn | ../mmocr/configs/textrecog/crnn/crnn_academic_dataset.py | Text Recognition | ../mmdeploy_checkpoints/mmocr/crnn/crnn_academic-a723a1c5.pth | IIIT5K | Pytorch | - | - | - | - | - | 80.5 | - |
| 1 | crnn | ../mmocr/configs/textrecog/crnn/crnn_academic_dataset.py | Text Recognition | ${WORK_DIR}/mmocr/crnn/onnxruntime/static/crnn_academic-a723a1c5/end2end.onnx | x | onnxruntime | configs/mmocr/text-recognition/text-recognition_onnxruntime_dynamic.py | static | fp32 | True | - | 80.67 | True |
| 2 | crnn | ../mmocr/configs/textrecog/crnn/crnn_academic_dataset.py | Text Recognition | ${WORK_DIR}/mmocr/crnn/onnxruntime/static/crnn_academic-a723a1c5 | x | SDK-onnxruntime | configs/mmocr/text-recognition/text-recognition_sdk_dynamic.py | static | fp32 | True | - | x | False |
| 3 | dbnet | ../mmocr/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | Text Detection | ../mmdeploy_checkpoints/mmocr/dbnet/dbnet_r18_fpnc_sbn_1200e_icdar2015_20210329-ba3ab597.pth | ICDAR2015 | Pytorch | - | - | - | - | 0.795 | - | - |
| 4 | dbnet | ../mmocr/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | Text Detection | ../mmdeploy_checkpoints/mmocr/dbnet/dbnet_r18_fpnc_sbn_1200e_icdar2015_20210329-ba3ab597.pth | ICDAR | onnxruntime | configs/mmocr/text-detection/text-detection_onnxruntime_dynamic.py | dynamic | fp32 | True | - | - | True |
| 5 | dbnet | ../mmocr/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | Text Detection | ${WORK_DIR}/mmocr/dbnet/tensorrt/dynamic/dbnet_r18_fpnc_sbn_1200e_icdar2015_20210329-ba3ab597/end2end.engine | ICDAR | tensorrt | configs/mmocr/text-detection/text-detection_tensorrt-fp16_dynamic-320x320-2240x2240.py | dynamic | fp16 | True | 0.793302 | - | True |
| 6 | dbnet | ../mmocr/configs/textdet/dbnet/dbnet_r18_fpnc_1200e_icdar2015.py | Text Detection | ${WORK_DIR}/mmocr/dbnet/tensorrt/dynamic/dbnet_r18_fpnc_sbn_1200e_icdar2015_20210329-ba3ab597 | ICDAR | SDK-tensorrt | configs/mmocr/text-detection/text-detection_sdk_dynamic.py | dynamic | fp16 | True | 0.795073 | - | True |
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
## 5. Supported Backends
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
- [x] ONNX Runtime
- [x] TensorRT
- [x] PPLNN
- [x] ncnn
- [x] OpenVINO
- [x] TorchScript
- [x] SNPE
[Feature] Regression test for mmdeploy (#302) * Add regression test script * Add doc * Add test yaml for mmdet * evaluate_outputs Add return result (cherry picked from commit c8c9cd75df7916aa4d80a7b8bfb8a78e04446cad) * object_detection return metric after eval (cherry picked from commit 1b8dcaa39ed14f016bf51d1aee65c2c416cd7c33) * move `deploy_config_dir` to `global_info` in test yaml * fix path error * Improve test yaml structure * Add test env for saving regression report * Fix SDK test report will crash * Get SDK FPS * Add mmcls regression test yaml * Using CMD to test the backend result * Get metric from log file * Imporve coding * Imporve coding * restructure test yaml * resturcture the test yaml and coding, using pipeline style * Fixed wont saving into report when cant find `backend_test` and `sdk_config` * set `metric_info` in test yaml * improve test yaml * Fixed will get black checkpoint file name * Fix lint * Fix yaml * Add common in test yaml * Resturcture mmcla test yaml * Resturcture mmcla test yaml * Improve mmcls test yaml * mmcls test success * Improve tes yaml field * Add `--test-img` only when `test_img_path` is not None * Add `precision_type` in report * Not saving pkl result file any more * Add 'x' install of '-' when script crash * Fix some field in mmcls test yaml * Add mmseg test yaml * Add unknown backend final file name * Improve backend file dict * Add mmseg success * unify the checkpoint path to relate path * unify the checkpoint path to relate path * Add mmpose, need to test * Support backend file list to `--model` when test the backend * Fix lint * Add some common * FPS get from log always get 1:10 line * Add dataset in report when test backend * Get dataset type from model config file * Replace pipeline.json topk * SDK report add backend name * Add txt report, it will save each test * update mmcls config * Add `calib-dataset-cfg` in cmd when it exist in tset yaml * make model path shorter by cutting the work_dir_root * Add `task_name` in test yaml * Add `task_name` in report * Improve test yaml * Add mmocr test yaml * Get mmocr fps metric success * Add `dataset` feild in test yaml * Report will skip when the dataset name not in test yaml * Add dbnet in mmocr test yaml and success get metric * Add mmedit test yaml * Improve some common * Add mmedit success * Fix lint * Fix isort lint * Fix yapf lint * Undo some changes in `evaluate_outputs` * Undo some changes in `evaluate_outputs` * Improve test requirement.txt * Undo some changes in `evaluate_outputs` * Improve doc * Improve mmedit test yaml * Using `--divice` * Fix lint * Using `--performance` replace `--test-type` * Fix lint * Fix page link * Fix backend name * Using `logger` instead of `print` * Fix lint * Add TorchScript in the doc * Add type hint for all the funcs * Fix docformatter lint * Fix path in report have the root of work dir * mmdet add other backend in tast yaml * mmdet add other backend in tast yaml * mmocr add other backend in tast yaml * mmedit add other backend in tast yaml * mmpose add other backend in tast yaml * Delete filed `codebase_model_config_dir` in test yaml * Using `Config` in metafile.yml instal of `Name` from allmodel config files. * Fix yapf lint * update mmpose mmseg config * Fix lint * Imporve mmcls test yaml * Imporve mmedit test yaml * Imporve mmedit test yaml * Imporve mmseg test yaml * update mmdet yml * Not using pth when conver sucess when in only convert mode * Using metafile dataset when can not get `model_cfg.dataset_type` * Fixed `model_name` incorrect in some codebase * Improve mmcls test yaml image * Improve mmedit test yaml image * Improve mmocr test yaml image * Improve mmseg test yaml image * Fix test yaml bug * Support overwirte `metric_tolerance` * Add `metric_tolerance` in mmcls * Fixed yaml bug * mmcls add all models, which had already supported, in test yaml * Fix report will not replace to ${WORK_DIR} * Add metric tolerance in mmcls test yaml * Modefied mmcls global metric tolreance * remove `metric_tolerance` in each pipeline * Improve mmcls test yaml * mmcls add TODO * imporve test yaml `pp`l -> `pplnn` * mmdet add all models, which had already supported, in test yaml * mmedit add all models, which had already supported, in test yaml * mmocr add all models, which had already supported, in test yaml * mmpose add all models, which had already supported, in test yaml * Replace `sdk_xxx_fp32` to `sdk_xxx` * mmseg add all models, which had already supported, in test yaml * Import the backend order of test yaml * Fix mmseg test yaml pplnn static config * Add notes for Windows user in the doc * Fix get metric from different metric name but correct dataset name. * Fix mmedit dataset incorrect * Fix test yaml of mmedit * Fix lint * Fix mmpose can't find metric * Improve mmseg trt testing config * Add dataset in mmdet test yaml * Add logs when continue in the code * Fix mmpose get metric log error * Fix mmdet can not get metric * Add merge report into one * Fix lint * Add version in the report * log2file for each backend * Fix lint * Improve report merge * update mmseg yml to shape 1024x2048 * Fix dependences for merging report * Imporve mmcls yaml, add `ShuffleNetV1` and `ShuffleNetV2` * Fix name of model in test yaml with a space will crash when convert * Add commons for test yaml metric tolerance * Add mmdet seg detail config in test yaml * Improve mmdet test yaml * Fix mmdet mskrcnn metric Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-04-28 08:03:59 +08:00
- [x] MMDeploy SDK
## 6. Supported Codebase and Metrics
[Enhancement] Improve MMDeploy Regression test (#425) * make regression test as a module under project * using `--codebase` instead of `--deploy-yml` * Improve doc for `--codebase` * Add shorter arg `-p` for `--performance` * make `checopoint-dir` as an arg for the script * Gen error log when convert fail. * Improve res code for testing * Doc add sdk test detail * Doc add env setup * Fix lint * Fix doc lint * Improve model path in report * Improve report title * Improve report checkpoint path * Fix lint * move test yaml under `tests/regression` * Improve the test yaml path * Fix lint * Improve doc * make func `update_report` code better * move doc to new location * Fix arg * Update arg details * Use cpu when openvino and onnxruntime cpu package * Fix word * Fix func of openpyxl 3.0.9 * Add some info * Fix lint * Fix filename * Fix doc link * Fix dir name with space when is not sdk * Add args `--models` for test specific model(s) * not saving report when no model in codebase when using `--models` * Fix doc * Fix lint * Add table for metric in doc * Improve table for doc * Using `None` install of `['all']` * Improce doc * set device type properly * Increate popen bufsize * Add `precision_type` in `work-dir` * Fix popen stuck * Fix lint * Fix lint * Fix popen stuck by using file handler * Make metric dataset as a list * Update mmseg.yml * Remove 'FPS' in the report * Update do_regression_test.md * Improve log * Fix codespell * Fix doc * ncnn only save `xxx.param` as checkpoint name in the report Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
| Codebase | Metric | Support |
| -------- | -------- | ------------------ |
| mmdet | bbox | :heavy_check_mark: |
| | segm | :heavy_check_mark: |
| | PQ | :x: |
| mmcls | accuracy | :heavy_check_mark: |
| mmseg | mIoU | :heavy_check_mark: |
| mmpose | AR | :heavy_check_mark: |
| | AP | :heavy_check_mark: |
| mmocr | hmean | :heavy_check_mark: |
| | acc | :heavy_check_mark: |
| mmedit | PSNR | :heavy_check_mark: |
| | SSIM | :heavy_check_mark: |