globals:
  codebase_dir: ../mmpose
  checkpoint_force_download: False
  images:
    img_human_pose: &img_human_pose ../mmpose/tests/data/coco/000000000785.jpg
    img_human_pose_256x192: &img_human_pose_256x192 ./demo/resources/human-pose.jpg
  metric_info: &metric_info
    AP: # named after metafile.Results.Metrics
      metric_key: coco/AP # eval key name
      tolerance: 0.02 # metric ±n
    AR:
      metric_key: coco/AR
      tolerance: 0.02 # metric ±n
  convert_image: &convert_image
    input_img: *img_human_pose
    test_img: *img_human_pose_256x192
  backend_test: &default_backend_test True
  sdk:
    sdk_static: &sdk_static configs/mmpose/pose-detection_sdk_static-256x192.py

onnxruntime:
  pipeline_ort_static_fp32: &pipeline_ort_static_fp32
    convert_image: *convert_image
    deploy_config: configs/mmpose/pose-detection_onnxruntime_static.py

tensorrt:
  pipeline_trt_static_fp32: &pipeline_trt_static_fp32
    convert_image: *convert_image
    backend_test: *default_backend_test
    sdk_config: *sdk_static
    deploy_config: configs/mmpose/pose-detection_tensorrt_static-256x192.py
  pipeline_trt_static_fp32_256x256: &pipeline_trt_static_fp32_256x256
    convert_image: *convert_image
    backend_test: *default_backend_test
    sdk_config: *sdk_static
    deploy_config: configs/mmpose/pose-detection_tensorrt_static-256x256.py
  pipeline_trt_static_fp16: &pipeline_trt_static_fp16
    convert_image: *convert_image
    backend_test: *default_backend_test
    sdk_config: *sdk_static
    deploy_config: configs/mmpose/pose-detection_tensorrt-fp16_static-256x192.py
  pipeline_trt_static_int8: &pipeline_trt_static_int8
    convert_image: *convert_image
    backend_test: *default_backend_test
    sdk_config: *sdk_static
    deploy_config: configs/mmpose/pose-detection_tensorrt-int8_static-256x192.py

openvino:
  pipeline_openvino_static_fp32: &pipeline_openvino_static_fp32
    convert_image: *convert_image
    deploy_config: configs/mmpose/pose-detection_openvino_static-256x192.py
  pipeline_openvino_static_fp32_256x256: &pipeline_openvino_static_fp32_256x256
    convert_image: *convert_image
    backend_test: *default_backend_test
    deploy_config: configs/mmpose/pose-detection_openvino_static-256x256.py

ncnn:
  pipeline_ncnn_static_fp32: &pipeline_ncnn_static_fp32
    convert_image: *convert_image
    backend_test: False
    deploy_config: configs/mmpose/pose-detection_ncnn_static-256x192.py
  pipeline_ncnn_static_fp32_256x256: &pipeline_ncnn_static_fp32_256x256
    convert_image: *convert_image
    backend_test: False
    deploy_config: configs/mmpose/pose-detection_ncnn_static-256x256.py

pplnn:
  pipeline_pplnn_static_fp32: &pipeline_pplnn_static_fp32
    convert_image: *convert_image
    backend_test: False
    deploy_config: configs/mmpose/pose-detection_pplnn_static-256x192.py

torchscript:
  pipeline_ts_static_fp32: &pipeline_ts_fp32
    convert_image: *convert_image
    backend_test: *default_backend_test
    sdk_config: *sdk_static
    deploy_config: configs/mmpose/pose-detection_torchscript.py

models:
  - name: HRNET
    metafile: configs/body_2d_keypoint/topdown_heatmap/coco/hrnet_coco.yml
    model_configs:
      - configs/body_2d_keypoint/topdown_heatmap/coco/td-hm_hrnet-w48_8xb32-210e_coco-256x192.py
    pipelines:
      - *pipeline_ort_static_fp32
      - *pipeline_trt_static_fp16
      - *pipeline_ncnn_static_fp32
      - *pipeline_openvino_static_fp32
      - *pipeline_ts_fp32
      - *pipeline_pplnn_static_fp32

  - name: LiteHRNet
    metafile: configs/body_2d_keypoint/topdown_heatmap/coco/litehrnet_coco.yml
    model_configs:
      - configs/body_2d_keypoint/topdown_heatmap/coco/td-hm_litehrnet-30_8xb64-210e_coco-256x192.py
    pipelines:
      - *pipeline_ort_static_fp32
      - *pipeline_trt_static_fp32
      - *pipeline_ncnn_static_fp32
      - *pipeline_openvino_static_fp32
      - *pipeline_ts_fp32
      - *pipeline_pplnn_static_fp32

  - name: MSPN
    metafile: configs/body_2d_keypoint/topdown_heatmap/coco/mspn_coco.yml
    model_configs:
      - configs/body_2d_keypoint/topdown_heatmap/coco/td-hm_4xmspn50_8xb32-210e_coco-256x192.py
    pipelines:
      - *pipeline_ort_static_fp32
      - *pipeline_trt_static_fp16
      - *pipeline_ncnn_static_fp32
      - *pipeline_openvino_static_fp32
      - *pipeline_ts_fp32
      - *pipeline_pplnn_static_fp32

  - name: Hourglass
    metafile: configs/body_2d_keypoint/topdown_heatmap/coco/hourglass_coco.yml
    model_configs:
      - configs/body_2d_keypoint/topdown_heatmap/coco/td-hm_hourglass52_8xb32-210e_coco-256x256.py
    pipelines:
      - *pipeline_ort_static_fp32
      - *pipeline_trt_static_fp32_256x256
      - *pipeline_ncnn_static_fp32_256x256
      - *pipeline_openvino_static_fp32_256x256

  - name: SimCC
    metafile: configs/body_2d_keypoint/simcc/coco/mobilenetv2_coco.yml
    model_configs:
      - configs/body_2d_keypoint/simcc/coco/simcc_mobilenetv2_wo-deconv-8xb64-210e_coco-256x192.py
    pipelines:
      - convert_image: *convert_image
        deploy_config: configs/mmpose/pose-detection_simcc_onnxruntime_dynamic.py
      - convert_image: *convert_image
        deploy_config: configs/mmpose/pose-detection_simcc_tensorrt_dynamic-256x192.py
        backend_test: *default_backend_test
        sdk_config: configs/mmpose/pose-detection_simcc_sdk_static-256x192.py
      - convert_image: *convert_image
        deploy_config: configs/mmpose/pose-detection_simcc_ncnn_static-256x192.py
