CMakeLists.txt 48.4 KB
Newer Older
1 2 3
# If CI_SKIP_CPP_TEST=ON, there is no need to build and run these test.
if("$ENV{CI_SKIP_CPP_TEST}" STREQUAL "ON")
  return()
4 5
endif()

6 7 8 9 10 11 12 13 14
# In Windows, c_api test link must link both 2 shared to avoid symbols redefinition,
# in Linux, c_api test cant do like this or graph_to_program register more than once.
# Both Windows and Linux can only use paddle_inference_c, but this will increase size
# of build folder by 30G.
if(WIN32)
  set(INFERENCE_C_EXTRA_DEPS paddle_inference_shared paddle_inference_c_shared)
else()
  set(INFERENCE_C_EXTRA_DEPS paddle_inference_shared paddle_inference_c)
endif()
N
nhzlx 已提交
15

W
Wangzheee 已提交
16
function(download_data install_dir data_file check_sum)
17 18 19 20 21
  string(REGEX MATCH "[^/\\]+$" file_name ${data_file})
  if(NOT EXISTS ${install_dir}/${file_name})
    inference_download_and_uncompress(${install_dir} ${INFERENCE_URL}
                                      ${data_file} ${check_sum})
  endif()
22 23
endfunction()

W
Wangzheee 已提交
24
function(download_data_without_verify install_dir data_file)
25 26 27 28 29
  string(REGEX MATCH "[^/\\]+$" file_name ${data_file})
  if(NOT EXISTS ${install_dir}/${file_name})
    inference_download_and_uncompress_without_verify(
      ${install_dir} ${INFERENCE_URL} ${data_file})
  endif()
W
Wangzheee 已提交
30 31 32
endfunction()

function(download_int8_data install_dir data_file check_sum)
33 34 35 36
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress(${install_dir} ${INFERENCE_URL}/int8
                                      ${data_file} ${check_sum})
  endif()
W
Wangzheee 已提交
37 38 39
endfunction()

function(download_int8_data_without_verify install_dir data_file)
40 41 42 43
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress_without_verify(
      ${install_dir} ${INFERENCE_URL}/int8 ${data_file})
  endif()
W
Wangzheee 已提交
44 45 46
endfunction()

function(download_bfloat16_data install_dir data_file check_sum)
47 48 49 50
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress(${install_dir} ${INFERENCE_URL}/bfloat16
                                      ${data_file} ${check_sum})
  endif()
T
Tao Luo 已提交
51 52
endfunction()

W
Wangzheee 已提交
53
function(download_bfloat16_data_without_verify install_dir data_file)
54 55 56 57
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress_without_verify(
      ${install_dir} ${INFERENCE_URL}/bfloat16 ${data_file})
  endif()
58 59
endfunction()

W
Wangzheee 已提交
60
function(download_GRU_data install_dir data_file check_sum)
61 62 63 64
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress(${install_dir} ${INFERENCE_URL}/gru
                                      ${data_file} ${check_sum})
  endif()
65 66
endfunction()

W
Wangzheee 已提交
67
function(download_GRU_data_without_verify install_dir data_file)
68 69 70 71
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress_without_verify(
      ${install_dir} ${INFERENCE_URL}/gru ${data_file})
  endif()
72 73
endfunction()

W
Wangzheee 已提交
74
function(download_quant_data install_dir data_file check_sum)
75 76 77 78
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress(
      ${install_dir} ${INFERENCE_URL}/int8/QAT_models ${data_file} ${check_sum})
  endif()
W
Wangzheee 已提交
79 80 81
endfunction()

function(download_quant_data_without_verify install_dir data_file)
82 83 84 85
  if(NOT EXISTS ${install_dir}/${data_file})
    inference_download_and_uncompress_without_verify(
      ${install_dir} ${INFERENCE_URL}/int8/QAT_models ${data_file})
  endif()
W
Wangzheee 已提交
86 87
endfunction()

88 89 90 91
function(download_model_and_data install_dir model_name model_check_sum
         data_name data_check_sum)
  download_data(${install_dir} ${model_name} ${model_check_sum})
  download_data(${install_dir} ${data_name} ${data_check_sum})
W
Wangzheee 已提交
92 93
endfunction()

94 95 96 97
function(download_model_and_data_without_verify install_dir model_name
         data_name)
  download_data_without_verify(${install_dir} ${model_name})
  download_data_without_verify(${install_dir} ${data_name})
W
Wangzheee 已提交
98 99 100
endfunction()

function(download_result install_dir result_name check_sum)
101
  download_data(${install_dir} ${result_name} ${check_sum})
102 103
endfunction()

W
Wangzheee 已提交
104
function(download_result_without_verify install_dir result_name)
105
  download_data_without_verify(${install_dir} ${result_name})
G
GaoWei8 已提交
106 107
endfunction()

108
function(inference_analysis_api_test target install_dir filename)
109 110 111 112 113
  inference_analysis_test(
    ${target}
    SRCS
    ${filename}
    EXTRA_DEPS
114
    paddle_inference_shared
115 116 117 118
    ARGS
    --infer_model=${install_dir}/model
    --infer_data=${install_dir}/data.txt
    --refer_result=${install_dir}/result.txt)
119 120
endfunction()

Z
Zuza 已提交
121
function(inference_analysis_api_int8_test target install_dir filename)
122 123 124 125 126
  inference_analysis_test(
    ${target}
    SRCS
    ${filename}
    EXTRA_DEPS
127
    paddle_inference_shared
128 129 130 131 132 133 134
    ARGS
    --infer_model=${install_dir}/model
    --infer_data=${install_dir}/data.txt
    --refer_result=${install_dir}/result.txt
    --accuracy=0.8
    --batch_size=5
    --enable_int8=true)
Z
Zuza 已提交
135 136
endfunction()

137 138 139 140 141 142 143
function(inference_multiple_models_analysis_api_test target install_dir
         filename)
  inference_analysis_test(
    ${target}
    SRCS
    ${filename}
    EXTRA_DEPS
144
    paddle_inference_shared
145 146 147 148
    ARGS
    --infer_model=${install_dir}/mobilenet_v2_models/1
    --infer_model2=${install_dir}/mobilenet_v2_models/xx
    --infer_model3=${install_dir}/mobilenet_v2_models/3)
149 150
endfunction()

151
function(inference_analysis_api_test_build TARGET_NAME filename)
152
  inference_analysis_test_build(${TARGET_NAME} SRCS ${filename} EXTRA_DEPS
153
                                paddle_inference_shared)
154 155
endfunction()

156 157 158 159 160 161 162 163 164 165 166 167 168 169
function(inference_analysis_api_int8_test_run TARGET_NAME test_binary model_dir
         data_path)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${model_dir}/model
    --infer_data=${data_path}
    --warmup_batch_size=${WARMUP_BATCH_SIZE}
    --batch_size=50
    --enable_int8=true
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --iterations=2)
170
endfunction()
171

172 173 174 175 176
function(inference_analysis_api_int8_test_run_custom_warmup_batch_size
         TARGET_NAME test_binary model_dir data_path warmup_batch_size)
  set(WARMUP_BATCH_SIZE ${warmup_batch_size})
  inference_analysis_api_int8_test_run(${TARGET_NAME} ${test_binary}
                                       ${model_dir} ${data_path})
177 178
endfunction()

179 180 181 182 183 184 185 186 187 188 189 190 191
function(inference_analysis_api_bfloat16_test_run TARGET_NAME test_binary
         model_dir data_path)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${model_dir}/model
    --infer_data=${data_path}
    --batch_size=50
    --enable_bf16=true
    --paddle_num_threads=${CPU_NUM_THREADS_ON_CI}
    --iterations=2)
192 193
endfunction()

194 195 196 197 198 199 200 201 202 203 204 205 206 207
function(inference_analysis_api_object_dection_int8_test_run TARGET_NAME
         test_binary model_dir data_path)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${model_dir}/model
    --infer_data=${data_path}
    --warmup_batch_size=10
    --batch_size=300
    --enable_int8=true
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --iterations=1)
208 209
endfunction()

210
function(inference_analysis_api_test_with_fake_data_build TARGET_NAME filename)
211
  inference_analysis_test_build(${TARGET_NAME} SRCS ${filename} EXTRA_DEPS
212
                                paddle_inference_shared)
213 214
endfunction()

215 216 217 218 219
function(inference_analysis_api_test_with_fake_data_run TARGET_NAME test_binary
         model_dir disable_fc)
  inference_analysis_test_run(
    ${TARGET_NAME} COMMAND ${test_binary} ARGS --infer_model=${model_dir}/model
    --disable_mkldnn_fc=${disable_fc})
T
Tao Luo 已提交
220 221
endfunction()

222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243
function(
  inference_analysis_api_quant_test_run
  TARGET_NAME
  test_binary
  fp32_model_dir
  int8_model_dir
  data_path
  enable_quant_int8)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --fp32_model=${fp32_model_dir}
    --int8_model=${int8_model_dir}
    --infer_data=${data_path}
    --batch_size=50
    --enable_int8=true
    --enable_quant_int8=${enable_quant_int8}
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --with_accuracy_layer=false
    --iterations=2)
244 245
endfunction()

246 247 248 249 250 251 252 253 254 255 256 257 258 259
function(inference_analysis_api_lexical_test_run TARGET_NAME test_binary
         infer_model data_path)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${infer_model}
    --infer_data=${data_path}
    --batch_size=50
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --with_accuracy_layer=true
    --use_analysis=true
    --iterations=2)
260 261
endfunction()

262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
function(inference_analysis_api_lexical_bfloat16_test_run TARGET_NAME
         test_binary infer_model data_path)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${infer_model}
    --infer_data=${data_path}
    --batch_size=50
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --with_accuracy_layer=true
    --use_analysis=true
    --enable_bf16=true
    --iterations=2)
277 278
endfunction()

279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
function(inference_analysis_api_lexical_int8_test_run TARGET_NAME test_binary
         infer_model data_path fuse_multi_gru)
  inference_analysis_test_run(
    ${TARGET_NAME}
    COMMAND
    ${test_binary}
    ARGS
    --infer_model=${infer_model}
    --infer_data=${data_path}
    --batch_size=100
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --with_accuracy_layer=true
    --use_analysis=true
    --enable_int8=true
    --quantized_accuracy=0.01
    --fuse_multi_gru=${fuse_multi_gru}
    --iterations=4)
296 297
endfunction()

298 299 300 301 302
function(preprocess_data2bin_test_run target py_script_source data_dir
         output_file)
  py_test(${target}
          SRCS ${CMAKE_CURRENT_SOURCE_DIR}/${py_script_source} ARGS
               --data_dir=${data_dir} --output_file=${output_file} --local)
303 304
endfunction()

T
Tao Luo 已提交
305
if(NOT APPLE AND WITH_MKLML)
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341
  # RNN1
  set(RNN1_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/rnn1")
  download_model_and_data_without_verify(
    ${RNN1_INSTALL_DIR} "rnn1/model.tar.gz" "rnn1/data.txt.tar.gz")
  inference_analysis_api_test(test_analyzer_rnn1 ${RNN1_INSTALL_DIR}
                              analyzer_rnn1_tester.cc)

  # seq_pool1
  set(SEQ_POOL1_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/seq_pool")
  download_model_and_data_without_verify(
    ${SEQ_POOL1_INSTALL_DIR} "seq_pool1_model_.tar.gz"
    "seq_pool1_data.txt.tar.gz")
  inference_analysis_api_test(
    test_analyzer_seq_pool1_compare_determine ${SEQ_POOL1_INSTALL_DIR}
    analyzer_seq_pool1_compare_determine_tester.cc)
  inference_analysis_api_test(test_analyzer_seq_pool1 ${SEQ_POOL1_INSTALL_DIR}
                              analyzer_seq_pool1_compare_tester.cc)
  inference_analysis_api_test(
    test_analyzer_seq_pool1_fuse_compare_zero_copy ${SEQ_POOL1_INSTALL_DIR}
    analyzer_seq_pool1_fuse_compare_zero_copy_tester.cc)
  inference_analysis_api_test(
    test_analyzer_seq_pool1_fuse_statis ${SEQ_POOL1_INSTALL_DIR}
    analyzer_seq_pool1_fuse_statis_tester.cc)
  inference_analysis_api_test(
    test_analyzer_seq_pool1_profile ${SEQ_POOL1_INSTALL_DIR}
    analyzer_seq_pool1_profile_tester.cc)
  if(NOT WIN32 AND NOT "$ENV{CI_SKIP_CPP_TEST}" STREQUAL "ON")
    set_tests_properties(test_analyzer_seq_pool1_compare_determine
                         PROPERTIES TIMEOUT 120)
    set_tests_properties(test_analyzer_seq_pool1 PROPERTIES TIMEOUT 120)
    set_tests_properties(test_analyzer_seq_pool1_fuse_compare_zero_copy
                         PROPERTIES TIMEOUT 120)
    set_tests_properties(test_analyzer_seq_pool1_fuse_statis PROPERTIES TIMEOUT
                                                                        120)
    set_tests_properties(test_analyzer_seq_pool1_profile PROPERTIES TIMEOUT 120)
  endif()
342
else()
343 344 345 346 347 348 349 350 351 352
  # TODO: fix this test on MACOS and OPENBLAS, the reason is that
  # fusion_seqexpand_concat_fc_op is not supported on MACOS and OPENBLAS
  message(
    WARNING
      "These tests has been disabled in OSX or WITH_MKL=OFF before being fixed: \n test_analyzer_rnn1"
  )
  message(
    WARNING
      "These tests has been disabled in OSX or WITH_MKL=OFF before being fixed: \n test_analyzer_seq_pool1"
  )
353
endif()
354

L
luotao1 已提交
355 356
# RNN2
set(RNN2_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/rnn2")
357 358 359 360
download_model_and_data_without_verify(${RNN2_INSTALL_DIR} "rnn2_model.tar.gz"
                                       "rnn2_data.txt.tar.gz")
inference_analysis_api_test(test_analyzer_rnn2 ${RNN2_INSTALL_DIR}
                            analyzer_rnn2_tester.cc)
L
luotao1 已提交
361

T
Tao Luo 已提交
362 363 364
# TODO(luotao, Superjom) Disable DAM test, temporarily fix
# https://github.com/PaddlePaddle/Paddle/issues/15032#issuecomment-455990914.
# After inference framework refactor, will reopen it.
Z
ZhenWang 已提交
365
# normal DAM
Z
Zhen Wang 已提交
366
set(DAM_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/dam")
367 368
download_model_and_data_without_verify(${DAM_INSTALL_DIR} "DAM_model.tar.gz"
                                       "DAM_data.txt.tar.gz")
369
#inference_analysis_api_test(test_analyzer_dam ${DAM_INSTALL_DIR} analyzer_dam_tester.cc EXTRA_DEPS legacy_allocator)
Z
ZhenWang 已提交
370

Z
ZhenWang 已提交
371
# small DAM
Z
ZhenWang 已提交
372
set(DAM_SMALL_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/small_dam")
373 374 375 376 377 378 379
download_model_and_data_without_verify(
  ${DAM_SMALL_INSTALL_DIR} "dam_small_model.tar.gz" "dam_small_data.txt.tar.gz")
inference_analysis_test(
  test_analyzer_small_dam
  SRCS
  analyzer_dam_tester.cc
  EXTRA_DEPS
380
  paddle_inference_shared
381 382 383 384 385 386 387
  ARGS
  --infer_model=${DAM_SMALL_INSTALL_DIR}/model
  --infer_data=${DAM_SMALL_INSTALL_DIR}/data.txt)

#save model
inference_analysis_api_test(test_analyzer_save_model ${DAM_SMALL_INSTALL_DIR}
                            analyzer_save_model_tester.cc)
388

389
# chinese_ner
L
luotao1 已提交
390
set(CHINESE_NER_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/chinese_ner")
391 392 393 394 395
download_model_and_data_without_verify(
  ${CHINESE_NER_INSTALL_DIR} "chinese_ner_model.tar.gz"
  "chinese_ner-data.txt.tar.gz")
inference_analysis_api_test(test_analyzer_ner ${CHINESE_NER_INSTALL_DIR}
                            analyzer_ner_tester.cc)
396 397

# lac
L
luotao1 已提交
398
set(LAC_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/lac")
399 400 401 402 403
download_model_and_data(
  ${LAC_INSTALL_DIR} "lac_model.tar.gz" 419ca6eb85f57a01bfe173591910aec5
  "lac_data.txt.tar.gz" 9983539cd6b34fbdc411e43422776bfd)
inference_analysis_api_test(test_analyzer_lac ${LAC_INSTALL_DIR}
                            analyzer_lac_tester.cc)
404

T
Tao Luo 已提交
405 406
# Pyramid DNN
set(PYRAMID_DNN_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/pyramid_dnn")
407 408 409 410 411 412
download_model_and_data_without_verify(
  ${PYRAMID_DNN_INSTALL_DIR} "PyramidDNN_model.tar.gz"
  "PyramidDNN_data.txt.tar.gz")
inference_analysis_api_test(
  test_analyzer_pyramid_dnn ${PYRAMID_DNN_INSTALL_DIR}
  analyzer_pyramid_dnn_tester.cc)
T
Tao Luo 已提交
413

Z
Zuza 已提交
414
# Ernie
G
GaoWei8 已提交
415
set(ERNIE_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/Ernie")
416 417 418 419 420 421 422 423
download_model_and_data(
  ${ERNIE_INSTALL_DIR} "Ernie_model.tar.gz" aa59192dd41ed377f9f168e3a1309fa6
  "Ernie_data.txt.tar.gz" 5396e63548edad7ca561e7e26a9476d1)
download_result(${ERNIE_INSTALL_DIR} "Ernie_result.txt.tar.gz"
                73beea65abda2edb61c1662cd3180c62)
if(WITH_GPU)
  inference_analysis_api_test(test_analyzer_ernie ${ERNIE_INSTALL_DIR}
                              analyzer_ernie_tester.cc)
Y
YUNSHEN XIE 已提交
424
endif()
425 426
inference_analysis_api_int8_test(test_analyzer_ernie_int8 ${ERNIE_INSTALL_DIR}
                                 analyzer_ernie_int8_tester.cc)
G
GaoWei8 已提交
427

Z
Zuza 已提交
428
# Ernie large
429
set(ERNIE_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/Ernie_Large")
430 431 432 433 434 435 436 437 438 439 440
download_model_and_data(
  ${ERNIE_INSTALL_DIR} "Ernie_large_model.tar.gz"
  af7715245ed32cc77374625d4c80f7ef "Ernie_large_data.txt.tar.gz"
  edb2113eec93783cad56ed76d47ba57f)
download_result(${ERNIE_INSTALL_DIR} "Ernie_large_result.txt.tar.gz"
                1facda98eef1085dc9d435ebf3f23a73)
inference_analysis_test(
  test_analyzer_ernie_large
  SRCS
  analyzer_ernie_tester.cc
  EXTRA_DEPS
441
  paddle_inference_shared
442 443 444 445 446 447 448 449 450 451
  ARGS
  --infer_model=${ERNIE_INSTALL_DIR}/model
  --infer_data=${ERNIE_INSTALL_DIR}/data.txt
  --refer_result=${ERNIE_INSTALL_DIR}/result.txt
  --ernie_large=true)
if(NOT WIN32
   AND NOT APPLE
   AND TEST test_analyzer_ernie_large)
  set_tests_properties(test_analyzer_ernie_large PROPERTIES TIMEOUT 150 LABELS
                                                            "RUN_TYPE=NIGHTLY")
452
endif()
453 454
if(WIN32 AND TEST test_analyzer_ernie_large)
  set_tests_properties(test_analyzer_ernie_large PROPERTIES TIMEOUT 200)
455
endif()
456

457
# text_classification
458 459 460 461 462 463 464 465 466
set(TEXT_CLASSIFICATION_INSTALL_DIR
    "${INFERENCE_DEMO_INSTALL_DIR}/text_classification")
download_model_and_data(
  ${TEXT_CLASSIFICATION_INSTALL_DIR} "text-classification-Senta.tar.gz"
  3f0f440313ca50e26184e65ffd5809ab "text_classification_data.txt.tar.gz"
  36ae620020cc3377f45ed330dd36238f)
inference_analysis_api_test(
  test_analyzer_text_classification ${TEXT_CLASSIFICATION_INSTALL_DIR}
  analyzer_text_classification_tester.cc)
T
tensor-tang 已提交
467

T
Tao Luo 已提交
468 469
# seq_conv1
set(SEQ_CONV1_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/seq_conv1")
470 471 472 473
download_model_and_data_without_verify(
  ${SEQ_CONV1_INSTALL_DIR} "seq_conv1_model.tar.gz" "seq_conv1_data.txt.tar.gz")
inference_analysis_api_test(test_analyzer_seq_conv1 ${SEQ_CONV1_INSTALL_DIR}
                            analyzer_seq_conv1_tester.cc)
T
Tao Luo 已提交
474

T
Tao Luo 已提交
475 476
# transformer, the dataset only works on batch_size=8 now
set(TRANSFORMER_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/transformer")
477 478 479 480 481 482 483 484
download_model_and_data_without_verify(
  ${TRANSFORMER_INSTALL_DIR} "temp/transformer_model.tar.gz"
  "temp/transformer_data.txt.tar.gz")
inference_analysis_test(
  test_analyzer_transformer
  SRCS
  analyzer_transformer_compare_tester.cc
  EXTRA_DEPS
485
  paddle_inference_shared
486 487 488 489 490 491 492 493 494 495
  ARGS
  --infer_model=${TRANSFORMER_INSTALL_DIR}/model
  --infer_data=${TRANSFORMER_INSTALL_DIR}/data.txt
  --batch_size=8
  --cpu_num_threads=${CPU_NUM_THREADS_ON_CI})
inference_analysis_test(
  test_analyzer_transformer_fuse
  SRCS
  analyzer_transformer_fuse_tester.cc
  EXTRA_DEPS
496
  paddle_inference_shared
497 498 499 500 501 502 503 504 505 506
  ARGS
  --infer_model=${TRANSFORMER_INSTALL_DIR}/model
  --infer_data=${TRANSFORMER_INSTALL_DIR}/data.txt
  --batch_size=8
  --cpu_num_threads=${CPU_NUM_THREADS_ON_CI})
inference_analysis_test(
  test_analyzer_transformer_profile
  SRCS
  analyzer_transformer_profile_tester.cc
  EXTRA_DEPS
507
  paddle_inference_shared
508 509 510 511 512
  ARGS
  --infer_model=${TRANSFORMER_INSTALL_DIR}/model
  --infer_data=${TRANSFORMER_INSTALL_DIR}/data.txt
  --batch_size=8
  --cpu_num_threads=${CPU_NUM_THREADS_ON_CI})
T
Tao Luo 已提交
513

514
# VIT-OCR
515
set(VIT_OCR_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/vit")
516 517 518
if(NOT EXISTS ${VIT_OCR_INSTALL_DIR}/vit_ocr.tgz)
  inference_download_and_uncompress_without_verify(
    ${VIT_OCR_INSTALL_DIR} ${INFERENCE_URL} "ocr/vit_ocr.tgz")
519
endif()
520 521 522 523 524
inference_analysis_test(
  test_analyzer_vit_ocr
  SRCS
  analyzer_vit_ocr_tester.cc
  EXTRA_DEPS
525
  paddle_inference_shared
526 527 528
  ARGS
  --infer_model=${VIT_OCR_INSTALL_DIR}/vit_ocr/model
  --infer_data=${VIT_OCR_INSTALL_DIR}/vit_ocr/datavit.txt)
529

T
tensor-tang 已提交
530
# ocr
531
set(OCR_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/ocr")
532 533 534 535
if(NOT EXISTS ${OCR_INSTALL_DIR}/ocr.tar.gz)
  inference_download_and_uncompress_without_verify(
    ${OCR_INSTALL_DIR} "http://paddlemodels.bj.bcebos.com/"
    "inference-vis-demos/ocr.tar.gz")
536
endif()
537 538
inference_analysis_api_test(test_analyzer_ocr ${OCR_INSTALL_DIR}
                            analyzer_vis_tester.cc)
539

540 541
# densebox
set(DENSEBOX_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/densebox")
W
Wangzheee 已提交
542
download_data_without_verify(${DENSEBOX_INSTALL_DIR} "densebox.tar.gz")
543 544 545 546 547
inference_analysis_test(
  test_analyzer_detect_functional_mkldnn
  SRCS
  analyzer_detect_functional_mkldnn_tester.cc
  EXTRA_DEPS
548
  paddle_inference_shared
549 550 551 552
  ARGS
  --infer_model=${DENSEBOX_INSTALL_DIR}/model
  --infer_data=${DENSEBOX_INSTALL_DIR}/detect_input_50.txt
  --infer_shape=${DENSEBOX_INSTALL_DIR}/shape_50.txt)
553

T
Tao Luo 已提交
554
# mobilenet with transpose op
T
Tao Luo 已提交
555
set(MOBILENET_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/mobilenet")
556 557 558 559
if(NOT EXISTS ${MOBILENET_INSTALL_DIR}/mobilenet.tar.gz)
  inference_download_and_uncompress_without_verify(
    ${MOBILENET_INSTALL_DIR} "http://paddlemodels.bj.bcebos.com/"
    "inference-vis-demos/mobilenet.tar.gz")
T
Tao Luo 已提交
560
endif()
561 562
inference_analysis_api_test(test_analyzer_mobilenet_transpose
                            ${MOBILENET_INSTALL_DIR} analyzer_vis_tester.cc)
T
Tao Luo 已提交
563

564 565 566 567 568
### Image classification tests with fake data
set(IMG_CLASS_TEST_APP "test_analyzer_image_classification")
set(IMG_CLASS_TEST_APP_SRC "analyzer_image_classification_tester.cc")

# build test binary to be used in subsequent tests
569 570
inference_analysis_api_test_with_fake_data_build(${IMG_CLASS_TEST_APP}
                                                 ${IMG_CLASS_TEST_APP_SRC})
571

572
# googlenet
573
set(GOOGLENET_MODEL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/googlenet")
W
Wangzheee 已提交
574
download_data_without_verify(${GOOGLENET_MODEL_DIR} "googlenet.tar.gz")
575 576
inference_analysis_api_test_with_fake_data_run(
  test_analyzer_googlenet ${IMG_CLASS_TEST_APP} ${GOOGLENET_MODEL_DIR} false)
F
fuchang01 已提交
577

T
Tao Luo 已提交
578
# resnet50
579
set(RESNET50_MODEL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/resnet50")
W
Wangzheee 已提交
580
download_data_without_verify(${RESNET50_MODEL_DIR} "resnet50_model.tar.gz")
581 582 583 584
inference_analysis_api_test_with_fake_data_run(
  test_analyzer_resnet50 ${IMG_CLASS_TEST_APP} ${RESNET50_MODEL_DIR} true)
if(WIN32)
  set_tests_properties(test_analyzer_resnet50 PROPERTIES TIMEOUT 200)
585 586
endif()

587
# mobilenet with depthwise_conv op
588 589
set(MOBILENET_MODEL_DIR
    "${INFERENCE_DEMO_INSTALL_DIR}/mobilenet_depthwise_conv")
W
Wangzheee 已提交
590
download_data_without_verify(${MOBILENET_MODEL_DIR} "mobilenet_model.tar.gz")
591 592 593
inference_analysis_api_test_with_fake_data_run(
  test_analyzer_mobilenet_depthwise_conv ${IMG_CLASS_TEST_APP}
  ${MOBILENET_MODEL_DIR} false)
S
Sylwester Fraczek 已提交
594

595
if(WITH_MKLDNN)
596

597 598
  ### INT8 tests

599
  set(INT8_DATA_DIR "${INFERENCE_DEMO_INSTALL_DIR}/int8v2")
600

601
  ## Image classification models
602

603
  # ImageNet small dataset
W
Wojciech Uss 已提交
604
  # It may be already downloaded for Quant & INT8 unit tests
605 606 607
  set(IMAGENET_DATA_ARCHIVE "imagenet_val_100_tail.tar.gz")
  set(IMAGENET_DATA_DIR "${INFERENCE_DEMO_INSTALL_DIR}/imagenet")
  set(IMAGENET_DATA_PATH "${IMAGENET_DATA_DIR}/data.bin")
608 609
  download_int8_data_without_verify(${IMAGENET_DATA_DIR}
                                    ${IMAGENET_DATA_ARCHIVE})
610

611
  # build test binary to be used in subsequent tests
612
  set(INT8_IMG_CLASS_TEST_APP "test_analyzer_int8_image_classification")
613 614 615 616
  set(INT8_IMG_CLASS_TEST_APP_SRC
      "analyzer_int8_image_classification_tester.cc")
  inference_analysis_api_test_build(${INT8_IMG_CLASS_TEST_APP}
                                    ${INT8_IMG_CLASS_TEST_APP_SRC})
617 618

  # resnet50 int8
619
  set(INT8_RESNET50_MODEL_DIR "${INT8_DATA_DIR}/resnet50")
620 621 622 623 624
  download_int8_data_without_verify(${INT8_RESNET50_MODEL_DIR}
                                    "resnet50_int8_model.tar.gz")
  inference_analysis_api_int8_test_run(
    test_analyzer_int8_resnet50 ${INT8_IMG_CLASS_TEST_APP}
    ${INT8_RESNET50_MODEL_DIR} ${IMAGENET_DATA_PATH})
625 626 627

  # mobilenetv1 int8
  set(INT8_MOBILENETV1_MODEL_DIR "${INT8_DATA_DIR}/mobilenetv1")
628 629 630 631 632 633
  download_int8_data_without_verify(${INT8_MOBILENETV1_MODEL_DIR}
                                    "mobilenetv1_int8_model.tar.gz")
  inference_analysis_api_int8_test_run(
    test_analyzer_int8_mobilenetv1 ${INT8_IMG_CLASS_TEST_APP}
    ${INT8_MOBILENETV1_MODEL_DIR} ${IMAGENET_DATA_PATH})

634
  # mobilenetv2 int8
635
  set(INT8_MOBILENETV2_MODEL_DIR "${INT8_DATA_DIR}/mobilenetv2")
636 637 638 639 640 641
  download_int8_data_without_verify(${INT8_MOBILENETV2_MODEL_DIR}
                                    "mobilenet_v2_int8_model.tar.gz")
  inference_analysis_api_int8_test_run(
    test_analyzer_int8_mobilenetv2 ${INT8_IMG_CLASS_TEST_APP}
    ${INT8_MOBILENETV2_MODEL_DIR} ${IMAGENET_DATA_PATH})

642
  # resnet101 int8
A
Adam 已提交
643
  # TODO(grygielski) Enable after MKL-DNN 1.0 merge
644
  set(INT8_RESNET101_MODEL_DIR "${INT8_DATA_DIR}/resnet101")
645 646 647 648
  download_int8_data_without_verify(${INT8_RESNET101_MODEL_DIR}
                                    "Res101_int8_model.tar.gz")
  #   inference_analysis_api_int8_test_run(test_analyzer_int8_resnet101 ${INT8_IMG_CLASS_TEST_APP} ${INT8_RESNET101_MODEL_DIR} ${IMAGENET_DATA_PATH})

649
  # vgg16 int8
A
Adam 已提交
650
  # TODO(grygielski) Enable after MKL-DNN 1.0 merge
651
  set(INT8_VGG16_MODEL_DIR "${INT8_DATA_DIR}/vgg16")
652 653 654 655
  download_int8_data_without_verify(${INT8_VGG16_MODEL_DIR}
                                    "VGG16_int8_model.tar.gz")
  #  inference_analysis_api_int8_test_run(test_analyzer_int8_vgg16 ${INT8_IMG_CLASS_TEST_APP} ${INT8_VGG16_MODEL_DIR} ${IMAGENET_DATA_PATH})

656
  # vgg19 int8
A
Adam 已提交
657
  # TODO(grygielski) Enable after MKL-DNN 1.0 merge
658
  set(INT8_VGG19_MODEL_DIR "${INT8_DATA_DIR}/vgg19")
659 660 661
  download_int8_data_without_verify(${INT8_VGG19_MODEL_DIR}
                                    "VGG19_int8_model.tar.gz")
  #   inference_analysis_api_int8_test_run(test_analyzer_int8_vgg19 ${INT8_IMG_CLASS_TEST_APP} ${INT8_VGG19_MODEL_DIR} ${IMAGENET_DATA_PATH})
662

663
  # googlenet int8
664
  set(INT8_GOOGLENET_MODEL_DIR "${INT8_DATA_DIR}/googlenet")
665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693
  download_int8_data_without_verify(${INT8_GOOGLENET_MODEL_DIR}
                                    "GoogleNet_int8_model.tar.gz")
  inference_analysis_api_int8_test_run_custom_warmup_batch_size(
    test_analyzer_int8_googlenet ${INT8_IMG_CLASS_TEST_APP}
    ${INT8_GOOGLENET_MODEL_DIR} ${IMAGENET_DATA_PATH} 10)

  # mobilenetv3_large_x1_0 int8
  set(INT8_MOBILENETV3_LARGE_MODEL_DIR "${INT8_DATA_DIR}/mobilenetv3_large")
  set(INT8_MOBILENETV3_FILE_NAME "MobileNetV3_large_x1_0_infer.tar")
  if(NOT EXISTS
     ${INT8_MOBILENETV3_LARGE_MODEL_DIR}/${INT8_MOBILENETV3_FILE_NAME})
    inference_download_and_uncompress_without_verify(
      ${INT8_MOBILENETV3_LARGE_MODEL_DIR}
      "https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/inference/"
      ${INT8_MOBILENETV3_FILE_NAME})
  endif()
  inference_analysis_test_run(
    test_analyzer_int8_mobilenetv3_large
    COMMAND
    ${INT8_IMG_CLASS_TEST_APP}
    ARGS
    --infer_model=${INT8_MOBILENETV3_LARGE_MODEL_DIR}/MobileNetV3_large_x1_0_infer
    --infer_data=${IMAGENET_DATA_PATH}
    --warmup_batch_size=50
    --batch_size=1
    --enable_int8=true
    --cpu_num_threads=${CPU_NUM_THREADS_ON_CI}
    --iterations=100
    --with_accuracy_layer=false)
694

695 696 697 698
  ### BFLOAT16 tests

  # build test binary to be used in subsequent tests
  set(BF16_IMG_CLASS_TEST_APP "test_analyzer_bfloat16_image_classification")
699 700 701 702
  set(BF16_IMG_CLASS_TEST_APP_SRC
      "analyzer_bfloat16_image_classification_tester.cc")
  inference_analysis_api_test_build(${BF16_IMG_CLASS_TEST_APP}
                                    ${BF16_IMG_CLASS_TEST_APP_SRC})
703 704

  # resnet50 bfloat16
705 706 707 708
  inference_analysis_api_bfloat16_test_run(
    test_analyzer_bfloat16_resnet50 ${BF16_IMG_CLASS_TEST_APP}
    ${INT8_RESNET50_MODEL_DIR} ${IMAGENET_DATA_PATH})

709
  # googlenet bfloat16
710 711 712
  inference_analysis_api_bfloat16_test_run(
    test_analyzer_bfloat16_googlenet ${BF16_IMG_CLASS_TEST_APP}
    ${INT8_GOOGLENET_MODEL_DIR} ${IMAGENET_DATA_PATH})
713 714

  # mobilenetv1 bfloat16
715 716 717
  inference_analysis_api_bfloat16_test_run(
    test_analyzer_bfloat16_mobilenetv1 ${BF16_IMG_CLASS_TEST_APP}
    ${INT8_MOBILENETV1_MODEL_DIR} ${IMAGENET_DATA_PATH})
718 719

  # mobilenetv2 bfloat16
720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736
  inference_analysis_api_bfloat16_test_run(
    test_analyzer_bfloat16_mobilenetv2 ${BF16_IMG_CLASS_TEST_APP}
    ${INT8_MOBILENETV2_MODEL_DIR} ${IMAGENET_DATA_PATH})

  # mobilenetv3_large
  inference_analysis_test_run(
    test_analyzer_bfloat16_mobilenetv3_large
    COMMAND
    ${BF16_IMG_CLASS_TEST_APP}
    ARGS
    --infer_model=${INT8_MOBILENETV3_LARGE_MODEL_DIR}/MobileNetV3_large_x1_0_infer
    --infer_data=${IMAGENET_DATA_PATH}
    --batch_size=1
    --enable_bf16=true
    --paddle_num_threads=${CPU_NUM_THREADS_ON_CI}
    --iterations=100
    --with_accuracy_layer=false)
737

738
  ### Object detection models
739
  set(PASCALVOC_DATA_PATH "${INT8_DATA_DIR}/pascalvoc_val_head_300.bin")
740 741 742 743
  set(INT8_OBJ_DETECT_TEST_APP "test_analyzer_int8_object_detection")
  set(INT8_OBJ_DETECT_TEST_APP_SRC "analyzer_int8_object_detection_tester.cc")

  # download dataset if necessary
744 745
  download_int8_data_without_verify(${INT8_DATA_DIR}
                                    "pascalvoc_val_head_300.tar.gz")
746

747
  # build test binary to be used in subsequent tests
748 749
  inference_analysis_api_test_build(${INT8_OBJ_DETECT_TEST_APP}
                                    ${INT8_OBJ_DETECT_TEST_APP_SRC})
750

751 752
  # mobilenet-ssd int8
  set(INT8_MOBILENET_SSD_MODEL_DIR "${INT8_DATA_DIR}/mobilenet-ssd")
753 754 755 756 757
  download_int8_data_without_verify(${INT8_MOBILENET_SSD_MODEL_DIR}
                                    "mobilenet_ssd_int8_model.tar.gz")
  inference_analysis_api_object_dection_int8_test_run(
    test_analyzer_int8_mobilenet_ssd ${INT8_OBJ_DETECT_TEST_APP}
    ${INT8_MOBILENET_SSD_MODEL_DIR} ${PASCALVOC_DATA_PATH})
758

759 760
  ### Lexcial analysis GRU model
  set(GRU_PATH "${INFERENCE_DEMO_INSTALL_DIR}/gru")
761 762
  download_gru_data_without_verify("${GRU_PATH}" "GRU_eval_data.tar.gz")
  download_gru_data_without_verify("${GRU_PATH}" "GRU_eval_model_v2.tar.gz")
763
  set(GRU_DATA_PATH "${GRU_PATH}/GRU_eval_data.bin")
764
  set(GRU_MODEL_PATH "${GRU_PATH}/GRU_eval_model_v2")
765 766 767 768 769 770
  set(LEXICAL_TEST_APP "test_analyzer_lexical_analysis")
  set(LEXICAL_TEST_APP_SRC "analyzer_lexical_analysis_gru_tester.cc")

  # build test binary to be used in subsequent tests
  inference_analysis_api_test_build(${LEXICAL_TEST_APP} ${LEXICAL_TEST_APP_SRC})
  # run lexcial analysis test
771 772 773
  inference_analysis_api_lexical_test_run(
    test_analyzer_lexical_gru ${LEXICAL_TEST_APP} ${GRU_MODEL_PATH}
    ${GRU_DATA_PATH})
774
  # run bfloat16 lexical analysis test
775 776 777
  inference_analysis_api_lexical_bfloat16_test_run(
    test_analyzer_lexical_gru_bfloat16 ${LEXICAL_TEST_APP} ${GRU_MODEL_PATH}
    ${GRU_DATA_PATH})
778
  # run post-training quantization lexical analysis test
779 780 781 782 783 784 785
  inference_analysis_api_lexical_int8_test_run(
    test_analyzer_lexical_gru_int8 ${LEXICAL_TEST_APP} ${GRU_MODEL_PATH}
    ${GRU_DATA_PATH} false)
  # run post-training quantization lexical analysis test with multi_gru fuse
  inference_analysis_api_lexical_int8_test_run(
    test_analyzer_lexical_gru_int8_multi_gru ${LEXICAL_TEST_APP}
    ${GRU_MODEL_PATH} ${GRU_DATA_PATH} true)
786

W
Wojciech Uss 已提交
787
  ### optimized FP32 vs. Quant INT8 tests
788

W
Wojciech Uss 已提交
789 790
  set(QUANT_DATA_DIR "${INFERENCE_DEMO_INSTALL_DIR}/quant")
  set(QUANT_IMG_CLASS_TEST_APP "test_analyzer_quant_image_classification")
791 792
  set(QUANT_IMG_CLASS_TEST_APP_SRC
      "analyzer_quant_image_classification_tester.cc")
793 794

  # build test binary to be used in subsequent tests
795 796
  inference_analysis_api_test_build(${QUANT_IMG_CLASS_TEST_APP}
                                    ${QUANT_IMG_CLASS_TEST_APP_SRC})
W
Wojciech Uss 已提交
797 798

  # MobileNetV1 FP32 vs. Quant INT8
799
  # The FP32 model should already be downloaded for slim Quant unit tests on Linux
W
Wojciech Uss 已提交
800
  set(QUANT2_MobileNetV1_MODEL_DIR "${QUANT_DATA_DIR}/MobileNetV1_quant2")
801 802
  set(QUANT2_INT8_MobileNetV1_MODEL_DIR
      "${QUANT_DATA_DIR}/MobileNetV1_quant2_int8")
803
  if(NOT LINUX)
804 805
    download_quant_data_without_verify(${QUANT2_MobileNetV1_MODEL_DIR}
                                       "MobileNet_qat_perf.tar.gz")
W
Wilber 已提交
806
  endif()
807 808 809 810 811 812 813 814 815
  download_quant_data_without_verify(${QUANT2_INT8_MobileNetV1_MODEL_DIR}
                                     "MobileNet_qat_perf_int8.tar.gz")
  inference_analysis_api_quant_test_run(
    test_analyzer_quant_performance_benchmark
    ${QUANT_IMG_CLASS_TEST_APP}
    ${QUANT2_MobileNetV1_MODEL_DIR}/MobileNet_qat_perf/float
    ${QUANT2_INT8_MobileNetV1_MODEL_DIR}/MobileNet_qat_perf_int8
    ${IMAGENET_DATA_PATH}
    false)
B
baoachun 已提交
816 817

  # Quant2 MobileNetV1
818 819 820 821 822 823 824
  inference_analysis_api_quant_test_run(
    test_analyzer_quant2_mobilenetv1_mkldnn
    ${QUANT_IMG_CLASS_TEST_APP}
    ${QUANT2_MobileNetV1_MODEL_DIR}/MobileNet_qat_perf/float
    ${QUANT2_MobileNetV1_MODEL_DIR}/MobileNet_qat_perf/float
    ${IMAGENET_DATA_PATH}
    true)
B
baoachun 已提交
825 826 827

  # Quant2 ResNet50 with input/output scales in `fake_quantize_range_abs_max` operators and the `out_threshold` attributes,
  # with weight scales in `fake_channel_wise_dequantize_max_abs` operators
828 829 830 831
  set(QUANT2_RESNET50_CHANNELWISE_MODEL_DIR
      "${QUANT_DATA_DIR}/ResNet50_quant2_channelwise")
  set(QUANT2_RESNET50_CHANNELWISE_MODEL_ARCHIVE
      "ResNet50_qat_channelwise.tar.gz")
B
baoachun 已提交
832
  if(NOT LINUX)
833 834 835
    download_quant_data_without_verify(
      ${QUANT2_RESNET50_CHANNELWISE_MODEL_DIR}
      ${QUANT2_RESNET50_CHANNELWISE_MODEL_ARCHIVE})
W
Wilber 已提交
836
  endif()
837 838 839 840 841 842
  set(QUANT2_RESNET50_MODEL
      ${QUANT2_RESNET50_CHANNELWISE_MODEL_DIR}/ResNet50_qat_channelwise)
  inference_analysis_api_quant_test_run(
    test_analyzer_quant2_resnet50_channelwise_mkldnn
    ${QUANT_IMG_CLASS_TEST_APP} ${QUANT2_RESNET50_MODEL}
    ${QUANT2_RESNET50_MODEL} ${IMAGENET_DATA_PATH} true)
843

844
  ### Other tests
845

846 847 848
  # MKLDNN quantizer config
  set(MKLDNN_QUANTIZER_CONFIG_TEST_APP "test_mkldnn_quantizer_config")
  set(MKLDNN_QUANTIZER_CONFIG_TEST_APP_SRC "mkldnn_quantizer_config_tester.cc")
849 850 851 852
  inference_analysis_api_test_build(${MKLDNN_QUANTIZER_CONFIG_TEST_APP}
                                    ${MKLDNN_QUANTIZER_CONFIG_TEST_APP_SRC})
  inference_analysis_test_run(test_mkldnn_quantizer_config COMMAND
                              ${MKLDNN_QUANTIZER_CONFIG_TEST_APP})
853 854

  # preprocess data2bin imagenet
855 856 857 858 859 860 861
  download_int8_data_without_verify(${INT8_DATA_DIR} "imagenet_small.tar.gz")
  set(IMAGENET_SMALL_DATA_DIR "${INT8_DATA_DIR}/imagenet_small")
  set(IMAGENET_SMALL_OUTPUT_FILE "imagenet_small.bin")
  preprocess_data2bin_test_run(
    preprocess_local_imagenet "full_ILSVRC2012_val_preprocess.py"
    ${IMAGENET_SMALL_DATA_DIR} ${IMAGENET_SMALL_OUTPUT_FILE})

862
  # preprocess data2bin pascalvoc
W
Wangzheee 已提交
863
  download_int8_data_without_verify(${INT8_DATA_DIR} "pascalvoc_small.tar.gz")
864 865
  set(PASCALVOC_SMALL_DATA_DIR "${INT8_DATA_DIR}/pascalvoc_small")
  set(PASCALVOC_SMALL_OUTPUT_FILE "pascalvoc_small.bin")
866 867 868
  preprocess_data2bin_test_run(
    preprocess_local_pascalvoc "full_pascalvoc_test_preprocess.py"
    ${PASCALVOC_SMALL_DATA_DIR} ${PASCALVOC_SMALL_OUTPUT_FILE})
869

870 871
endif()

L
luotao1 已提交
872 873
# bert, max_len=20, embedding_dim=128
set(BERT_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/bert_emb128")
874 875
download_model_and_data_without_verify(
  ${BERT_INSTALL_DIR} "bert_emb128_model.tar.gz" "bert_data_len20.txt.tar.gz")
T
Tomasz Socha 已提交
876 877
inference_analysis_api_test(test_analyzer_bert ${BERT_INSTALL_DIR}
                            analyzer_bert_tester.cc)
878

879 880
# multiple models prediction
set(MMP_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/multi_model_prediction")
881 882 883 884 885
download_data_without_verify(${MMP_INSTALL_DIR}
                             PaddleInference/mobilenet_v2_models.tar.gz)
inference_multiple_models_analysis_api_test(
  test_analyzer_multi_model_prediction ${MMP_INSTALL_DIR}
  analyzer_mmp_tester.cc)
886

N
nhzlx 已提交
887
if(WITH_GPU AND TENSORRT_FOUND)
888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
  set(TRT_MODEL_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/trt_models")
  if(NOT EXISTS ${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models.tar.gz)
    inference_download_and_uncompress(
      ${TRT_MODEL_INSTALL_DIR} ${INFERENCE_URL}/tensorrt_test
      "trt_inference_test_models.tar.gz" 3dcccdc38b549b6b1b4089723757bd98)
  endif()
  set(TEST_SPLIT_CONVERTER_MODEL
      "${TRT_MODEL_INSTALL_DIR}/trt_split_op_converter_test")
  if(NOT EXISTS ${TEST_SPLIT_CONVERTER_MODEL}/split_converter.tgz)
    inference_download_and_uncompress_without_verify(
      ${TEST_SPLIT_CONVERTER_MODEL} ${INFERENCE_URL}/tensorrt_test
      "split_converter.tgz")
  endif()
  inference_analysis_test(
    trt_mobilenet_test
    SRCS
    trt_mobilenet_test.cc
    EXTRA_DEPS
906
    paddle_inference_shared
907 908 909 910 911 912 913
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
  inference_analysis_test(
    trt_resnet50_test
    SRCS
    trt_resnet50_test.cc
    EXTRA_DEPS
914
    paddle_inference_shared
915 916 917 918 919 920 921
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
  inference_analysis_test(
    trt_resnext_test
    SRCS
    trt_resnext_test.cc
    EXTRA_DEPS
922
    paddle_inference_shared
923 924 925 926 927 928 929
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
  inference_analysis_test(
    trt_fc_prelu_test
    SRCS
    trt_fc_prelu_test.cc
    EXTRA_DEPS
930
    paddle_inference_shared
931 932 933 934 935 936 937
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
  inference_analysis_test(
    trt_cascade_rcnn_test
    SRCS
    trt_cascade_rcnn_test.cc
    EXTRA_DEPS
938
    paddle_inference_shared
939 940 941 942 943 944 945
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
  inference_analysis_test(
    trt_split_converter_test
    SRCS
    trt_split_converter_test.cc
    EXTRA_DEPS
946
    paddle_inference_shared
947 948 949 950 951 952 953
    ARGS
    --infer_model=${TEST_SPLIT_CONVERTER_MODEL}/)
  inference_analysis_test(
    test_analyzer_capi_exp_gpu
    SRCS
    analyzer_capi_exp_gpu_tester.cc
    EXTRA_DEPS
954
    ${INFERENCE_C_EXTRA_DEPS}
955 956
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
957 958 959 960 961
  if(WIN32)
    target_link_libraries(test_analyzer_capi_exp_gpu paddle_inference_c_shared)
  else()
    target_link_libraries(test_analyzer_capi_exp_gpu paddle_inference_c)
  endif()
962 963 964 965 966
  inference_analysis_test(
    test_analyzer_capi_exp_xpu
    SRCS
    analyzer_capi_exp_xpu_tester.cc
    EXTRA_DEPS
967
    ${INFERENCE_C_EXTRA_DEPS}
968 969
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR}/trt_inference_test_models)
970 971 972 973 974 975
  if(WIN32)
    target_link_libraries(test_analyzer_capi_exp_xpu paddle_inference_c_shared)
  else()
    target_link_libraries(test_analyzer_capi_exp_xpu paddle_inference_c)
  endif()

976 977 978 979 980 981 982 983 984 985 986 987
  set(TRT_MODEL_QUANT_RESNET_DIR
      "${INFERENCE_DEMO_INSTALL_DIR}/small_quant_model")
  if(NOT EXISTS ${INFERENCE_DEMO_INSTALL_DIR}/small_quant_model.tgz)
    inference_download_and_uncompress_without_verify(
      ${INFERENCE_DEMO_INSTALL_DIR} ${INFERENCE_URL}/tensorrt_test
      "small_quant_model.tgz")
  endif()
  inference_analysis_test(
    trt_quant_int8_test
    SRCS
    trt_quant_int8_test.cc
    EXTRA_DEPS
988
    paddle_inference_shared
989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003
    ARGS
    --infer_model=${TRT_MODEL_QUANT_RESNET_DIR})

  set(TRT_MODEL_QUANT_YOLOV3_DIR
      "${INFERENCE_DEMO_INSTALL_DIR}/yolov3_r50_quant_aware")
  if(NOT EXISTS ${INFERENCE_DEMO_INSTALL_DIR}/yolov3_r50_quant_aware.tgz)
    inference_download_and_uncompress_without_verify(
      ${INFERENCE_DEMO_INSTALL_DIR} ${INFERENCE_URL}/tensorrt_test
      "yolov3_r50_quant_aware.tgz")
  endif()
  inference_analysis_test(
    trt_quant_int8_yolov3_r50_test
    SRCS
    trt_quant_int8_yolov3_r50_test.cc
    EXTRA_DEPS
1004
    paddle_inference_shared
1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026
    ARGS
    --infer_model=${TRT_MODEL_QUANT_YOLOV3_DIR})

  set(TEST_TRT_DYNAMIC_MODEL2 "${TRT_MODEL_INSTALL_DIR}/complex_model_dynamic")
  if(NOT EXISTS ${TEST_TRT_DYNAMIC_MODEL2}/complex_model_dynamic2.tar.gz)
    inference_download_and_uncompress_without_verify(
      ${TEST_TRT_DYNAMIC_MODEL2} ${INFERENCE_URL}/tensorrt_test
      "complex_model_dynamic2.tar.gz")
  endif()

  set(TEST_TRT_DYNAMIC_MODEL
      "${TRT_MODEL_INSTALL_DIR}/conv_bn_swish_split_gelu")
  if(NOT EXISTS ${TEST_TRT_DYNAMIC_MODEL}/conv_bn_swish_split_gelu.tar.gz)
    inference_download_and_uncompress(
      ${TEST_TRT_DYNAMIC_MODEL} ${INFERENCE_URL}/tensorrt_test
      "conv_bn_swish_split_gelu.tar.gz" 2a5e8791e47b221b4f782151d76da9c6)
  endif()
  inference_analysis_test(
    trt_dynamic_shape_test
    SRCS
    trt_dynamic_shape_test.cc
    EXTRA_DEPS
1027
    paddle_inference_shared
1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042
    ARGS
    --infer_model=${TRT_MODEL_INSTALL_DIR})

  set(TEST_TRT_ERNIE_MODEL "${TRT_MODEL_INSTALL_DIR}/ernie_test")
  if(NOT EXISTS ${TEST_TRT_ERNIE_MODEL}/ernie_model_4.tar.gz)
    inference_download_and_uncompress(
      ${TEST_TRT_ERNIE_MODEL} ${INFERENCE_URL}/tensorrt_test
      "ernie_model_4.tar.gz" 5fa371efa75706becbaad79195d2ca68)
  endif()

  inference_analysis_test(
    test_trt_dynamic_shape_ernie
    SRCS
    trt_dynamic_shape_ernie_test.cc
    EXTRA_DEPS
1043
    paddle_inference_shared
1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059
    ARGS
    --infer_model=${TEST_TRT_ERNIE_MODEL}/ernie_model_4)

  set(TEST_TRT_TRANSFORMER_PRUNE_MODEL
      "${TRT_MODEL_INSTALL_DIR}/transformer_prune")
  if(NOT EXISTS ${TEST_TRT_TRANSFORMER_PRUNE_MODEL}/transformer_prune.tar.gz)
    inference_download_and_uncompress(
      ${TEST_TRT_TRANSFORMER_PRUNE_MODEL} ${INFERENCE_URL}/tensorrt_test
      "transformer_prune.tar.gz" 77b56dc73ff0cf44ddb1ce9ca0b0f471)
  endif()

  inference_analysis_test(
    test_trt_dynamic_shape_transformer_prune
    SRCS
    trt_dynamic_shape_transformer_prune_test.cc
    EXTRA_DEPS
1060
    paddle_inference_shared
1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074
    ARGS
    --infer_model=${TEST_TRT_TRANSFORMER_PRUNE_MODEL}/transformer_prune)

  if(NOT EXISTS ${TEST_TRT_ERNIE_MODEL}/ernie_model_4_unserialized.tgz)
    inference_download_and_uncompress(
      ${TEST_TRT_ERNIE_MODEL} ${INFERENCE_URL}/tensorrt_test
      "ernie_model_4_unserialized.tgz" 833d73fc6a7f7e1ee4a1fd6419209e55)
  endif()

  inference_analysis_test(
    test_trt_dynamic_shape_ernie_ser_deser
    SRCS
    trt_dynamic_shape_ernie_serialize_deserialize_test.cc
    EXTRA_DEPS
1075
    paddle_inference_shared
1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089
    ARGS
    --infer_model=${TEST_TRT_ERNIE_MODEL}/ernie_model_4_unserialized)

  if(NOT EXISTS ${TEST_TRT_ERNIE_MODEL}/ernie_model_4_fp16_unserialized.tgz)
    inference_download_and_uncompress(
      ${TEST_TRT_ERNIE_MODEL} ${INFERENCE_URL}/tensorrt_test
      "ernie_model_4_fp16_unserialized.tgz" c5ff2d0cad79953ffbf2b8b9e2fae6e4)
  endif()

  inference_analysis_test(
    test_trt_dynamic_shape_ernie_fp16_ser_deser
    SRCS
    trt_dynamic_shape_ernie_fp16_serialize_deserialize_test.cc
    EXTRA_DEPS
1090
    paddle_inference_shared
1091 1092
    ARGS
    --infer_model=${TEST_TRT_ERNIE_MODEL}/ernie_model_4_fp16_unserialized)
1093

1094 1095
endif()

石晓伟 已提交
1096
set(LITE_MODEL_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/lite")
W
Wangzheee 已提交
1097
download_data_without_verify(${LITE_MODEL_INSTALL_DIR} "mul_model_fp32.tgz")
石晓伟 已提交
1098

1099 1100 1101 1102 1103
inference_analysis_test(
  lite_mul_model_test
  SRCS
  lite_mul_model_test.cc
  EXTRA_DEPS
1104
  paddle_inference_shared
1105 1106 1107 1108 1109 1110 1111
  ARGS
  --infer_model=${LITE_MODEL_INSTALL_DIR})
inference_analysis_test(
  lite_resnet50_test
  SRCS
  lite_resnet50_test.cc
  EXTRA_DEPS
1112
  paddle_inference_shared
1113 1114 1115 1116 1117 1118 1119 1120
  ARGS
  --infer_model=${RESNET50_MODEL_DIR})

inference_analysis_test(
  test_analyzer_capi_exp
  SRCS
  analyzer_capi_exp_tester.cc
  EXTRA_DEPS
1121
  ${INFERENCE_C_EXTRA_DEPS}
1122 1123
  ARGS
  --infer_model=${RESNET50_MODEL_DIR}/model)
1124 1125 1126 1127 1128
if(WIN32)
  target_link_libraries(test_analyzer_capi_exp paddle_inference_c_shared)
else()
  target_link_libraries(test_analyzer_capi_exp paddle_inference_c)
endif()
1129 1130 1131 1132 1133 1134

inference_analysis_test(
  test_analyzer_capi_exp_pd_config
  SRCS
  analyzer_capi_exp_pd_config_tester.cc
  EXTRA_DEPS
1135
  ${INFERENCE_C_EXTRA_DEPS}
1136 1137
  ARGS
  --infer_model=${MOBILENET_INSTALL_DIR}/model)
1138 1139 1140 1141 1142 1143
if(WIN32)
  target_link_libraries(test_analyzer_capi_exp_pd_config
                        paddle_inference_c_shared)
else()
  target_link_libraries(test_analyzer_capi_exp_pd_config paddle_inference_c)
endif()
1144 1145 1146 1147 1148 1149

inference_analysis_test(
  test_analyzer_capi_exp_pd_tensor
  SRCS
  analyzer_capi_exp_pd_tensor_tester.cc
  EXTRA_DEPS
1150
  ${INFERENCE_C_EXTRA_DEPS}
1151 1152
  ARGS
  --infer_model=${MOBILENET_INSTALL_DIR}/model)
1153 1154 1155 1156 1157 1158
if(WIN32)
  target_link_libraries(test_analyzer_capi_exp_pd_tensor
                        paddle_inference_c_shared)
else()
  target_link_libraries(test_analyzer_capi_exp_pd_tensor paddle_inference_c)
endif()
1159 1160 1161 1162 1163 1164 1165

if(NOT APPLE AND NOT WIN32)
  inference_analysis_test(
    test_analyzer_capi_exp_pd_threads
    SRCS
    analyzer_capi_exp_pd_threads_tester.cc
    EXTRA_DEPS
1166
    ${INFERENCE_C_EXTRA_DEPS}
1167 1168
    ARGS
    --infer_model=${MOBILENET_INSTALL_DIR}/model)
1169 1170 1171 1172 1173 1174
  if(WIN32)
    target_link_libraries(test_analyzer_capi_exp_pd_threads
                          paddle_inference_c_shared)
  else()
    target_link_libraries(test_analyzer_capi_exp_pd_threads paddle_inference_c)
  endif()
1175
endif()
1176

1177 1178 1179 1180 1181
inference_analysis_test(
  test_analyzer_zerocopytensor_tensor
  SRCS
  analyzer_zerocopy_tensor_tester.cc
  EXTRA_DEPS
1182
  paddle_inference_shared
1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193
  ARGS
  --infer_model=${OCR_INSTALL_DIR}/model)

if(WITH_DISTRIBUTE
   AND WITH_PSCORE
   AND NOT (WITH_ASCEND OR WITH_ASCEND_CL))
  inference_analysis_test(
    test_analyzer_dist_model
    SRCS
    analyzer_dist_model_tester.cc
    EXTRA_DEPS
1194
    paddle_inference_shared
1195 1196
    ARGS
    --infer_model=${OCR_INSTALL_DIR}/model)
1197 1198
endif()

1199 1200 1201 1202 1203
inference_analysis_test(
  test_analyzer_paddletensor_tensor
  SRCS
  analyzer_paddle_tensor_tester.cc
  EXTRA_DEPS
1204
  paddle_inference_shared
1205 1206 1207 1208 1209
  ARGS
  --infer_model=${OCR_INSTALL_DIR}/model
  --infer_data=${OCR_INSTALL_DIR}/data.txt
  --refer_result=${OCR_INSTALL_DIR}/result.txt)

1210
if(WITH_MKLDNN)
1211 1212 1213 1214 1215
  inference_analysis_test(
    test_analyzer_capi_exp_int
    SRCS
    analyzer_capi_exp_int_tester.cc
    EXTRA_DEPS
1216
    ${INFERENCE_C_EXTRA_DEPS}
1217 1218
    ARGS
    --infer_model=${INT8_DATA_DIR}/resnet50/model)
1219 1220 1221 1222 1223
  if(WIN32)
    target_link_libraries(test_analyzer_capi_exp_int paddle_inference_c_shared)
  else()
    target_link_libraries(test_analyzer_capi_exp_int paddle_inference_c)
  endif()
1224
endif()
1225

1226 1227 1228 1229 1230
inference_analysis_test(
  test_analyzer_capi_exp_ner
  SRCS
  analyzer_capi_exp_ner_tester.cc
  EXTRA_DEPS
1231
  ${INFERENCE_C_EXTRA_DEPS}
1232 1233
  ARGS
  --infer_model=${CHINESE_NER_INSTALL_DIR}/model)
1234 1235 1236 1237 1238
if(WIN32)
  target_link_libraries(test_analyzer_capi_exp_ner paddle_inference_c_shared)
else()
  target_link_libraries(test_analyzer_capi_exp_ner paddle_inference_c)
endif()
W
Wilber 已提交
1239 1240

if(WITH_GPU)
1241 1242 1243 1244 1245
  inference_analysis_test(
    paddle_infer_api_test
    SRCS
    paddle_infer_api_test.cc
    EXTRA_DEPS
1246
    paddle_inference_shared
1247 1248 1249 1250 1251 1252 1253 1254
    ARGS
    --infer_model=${RESNET50_MODEL_DIR})

  inference_analysis_test(
    paddle_infer_api_copy_tensor_tester
    SRCS
    paddle_infer_api_copy_tensor_tester.cc
    EXTRA_DEPS
1255
    paddle_inference_shared
1256 1257 1258 1259
    ARGS
    --infer_model=${RESNET50_MODEL_DIR})
  set_tests_properties(paddle_infer_api_copy_tensor_tester PROPERTIES TIMEOUT
                                                                      30)
W
Wilber 已提交
1260
endif()
Y
YUNSHEN XIE 已提交
1261

1262 1263 1264 1265
cc_test(
  paddle_infer_api_errors_test
  SRCS paddle_infer_api_errors_tester.cc
  DEPS paddle_inference_api)
1266

Y
YUNSHEN XIE 已提交
1267
if(WITH_GPU AND TENSORRT_FOUND)
1268 1269 1270 1271 1272 1273 1274 1275 1276
  set_tests_properties(trt_resnext_test PROPERTIES TIMEOUT 300)
  set_tests_properties(trt_quant_int8_yolov3_r50_test PROPERTIES TIMEOUT 300)
  set_tests_properties(trt_resnet50_test PROPERTIES TIMEOUT 300)
  set_tests_properties(trt_cascade_rcnn_test PROPERTIES TIMEOUT 300)
  set_tests_properties(test_trt_dynamic_shape_ernie_ser_deser PROPERTIES TIMEOUT
                                                                         300)
  set_tests_properties(test_trt_dynamic_shape_ernie_fp16_ser_deser
                       PROPERTIES TIMEOUT 300)
  set_tests_properties(test_trt_dynamic_shape_ernie PROPERTIES TIMEOUT 300)
Y
YUNSHEN XIE 已提交
1277 1278 1279
endif()

if(WITH_MKLDNN)
1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291
  set_tests_properties(test_analyzer_int8_resnet50 PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_int8_mobilenet_ssd PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_quant_performance_benchmark
                       PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_int8_mobilenetv2 PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_int8_mobilenetv1 PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_int8_mobilenetv3_large PROPERTIES TIMEOUT
                                                                       120)
  set_tests_properties(test_analyzer_quant2_mobilenetv1_mkldnn
                       PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_quant2_resnet50_channelwise_mkldnn
                       PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
1292 1293
endif()

W
Wilber 已提交
1294
set_tests_properties(lite_resnet50_test PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
1295 1296 1297
set_tests_properties(test_analyzer_mobilenet_transpose PROPERTIES TIMEOUT 120)
set_tests_properties(test_analyzer_resnet50 PROPERTIES TIMEOUT 120)
set_tests_properties(test_analyzer_ner PROPERTIES TIMEOUT 120)
Z
Zuza 已提交
1298
set_tests_properties(test_analyzer_ernie_int8 PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
1299 1300 1301
set_tests_properties(test_analyzer_googlenet PROPERTIES TIMEOUT 120)
set_tests_properties(test_analyzer_small_dam PROPERTIES TIMEOUT 120)
set_tests_properties(test_analyzer_transformer PROPERTIES TIMEOUT 120)
1302 1303 1304 1305 1306
set_tests_properties(test_analyzer_mobilenet_depthwise_conv PROPERTIES TIMEOUT
                                                                       120)
if(WITH_GPU)
  set_tests_properties(test_analyzer_bert PROPERTIES TIMEOUT 120)
  set_tests_properties(test_analyzer_ernie PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
1307
endif()
Y
YUNSHEN XIE 已提交
1308
if(WITH_GPU AND TENSORRT_FOUND)
1309 1310 1311 1312
  set_tests_properties(trt_mobilenet_test PROPERTIES TIMEOUT 120)
  if(WITH_MKLDNN)
    set_tests_properties(test_analyzer_bfloat16_resnet50 PROPERTIES TIMEOUT 120)
  endif()
Y
YUNSHEN XIE 已提交
1313 1314
endif()
if(ON_INFER OR WITH_GPU)
1315
  set_tests_properties(test_analyzer_transformer_profile PROPERTIES TIMEOUT 120)
Y
YUNSHEN XIE 已提交
1316
endif()
J
jianghaicheng 已提交
1317

1318 1319 1320 1321 1322 1323 1324 1325 1326
if(WITH_IPU)
  #word2vec sample
  set(WORD2VEC_INSTALL_DIR
      "${INFERENCE_DEMO_INSTALL_DIR}/word2vec/word2vec.inference.model")
  inference_analysis_test(
    ipu_word2vec_sample
    SRCS
    ipu_word2vec_sample.cc
    EXTRA_DEPS
1327
    paddle_inference_shared
1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345
    ARGS
    --infer_model=${WORD2VEC_INSTALL_DIR})

  # ERNIE
  set(ERNIE_INSTALL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/Ernie")
  inference_analysis_api_test(ipu_ernie_test ${ERNIE_INSTALL_DIR}
                              ipu_ernie_test.cc ARGS --warmup=true --repeat=10)
  inference_analysis_api_test(
    ipu_ernie_fp16_test ${ERNIE_INSTALL_DIR} ipu_ernie_fp16_test.cc ARGS
    --warmup=true --repeat=10)

  # Resnet50
  set(RESNET50_MODEL_DIR "${INFERENCE_DEMO_INSTALL_DIR}/resnet50")
  inference_analysis_test(
    ipu_resnet50_test
    SRCS
    ipu_resnet50_test.cc
    EXTRA_DEPS
1346
    paddle_inference_shared
1347 1348 1349 1350 1351 1352 1353 1354 1355
    ARGS
    --infer_model=${RESNET50_MODEL_DIR}
    --warmup=true
    --repeat=10)
  inference_analysis_test(
    ipu_resnet50_fp16_test
    SRCS
    ipu_resnet50_fp16_test.cc
    EXTRA_DEPS
1356
    paddle_inference_shared
1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371
    ARGS
    --infer_model=${RESNET50_MODEL_DIR}
    --warmup=true
    --repeat=10)

  # Only support Resnet50 and Ernie currently
  inference_analysis_api_test(
    ipu_multi_model_profile
    SRCS
    ipu_multi_model_profile.cc
    ARGS
    --model_name="Resnet50"
    --infer_model=${RESNET50_MODEL_DIR}
    --warmup=true
    --repeat=10)
J
jianghaicheng 已提交
1372
endif()