1load("//tensorflow/lite:build_def.bzl", "tflite_copts") 2load("//tensorflow/lite:special_rules.bzl", "internal_visibility_allowlist", "tflite_portable_test_suite_combined") 3load("//tensorflow:tensorflow.bzl", "get_compatible_with_portable") 4 5package( 6 default_visibility = ["//visibility:public"], 7 licenses = ["notice"], 8) 9 10EMSCRIPTEN_LINKOPTS = [ 11 "-s ASSERTIONS=2", 12 "-s ERROR_ON_UNDEFINED_SYMBOLS=1", 13 "-s DEMANGLE_SUPPORT=1", 14 "-s EXIT_RUNTIME=1", 15 "-s ALLOW_MEMORY_GROWTH=1", 16 "-s TOTAL_MEMORY=134217728", 17] 18 19exports_files([ 20 "xnnpack_delegate.h", 21]) 22 23# Force XNNPACK to run FP32 models as FP16, regardless of model metadata. 24config_setting( 25 name = "xnnpack_force_float_precision_explicit_fp16", 26 define_values = {"xnnpack_force_float_precision": "fp16"}, 27) 28 29# Enable offloading of quantized 8-bit signed operators to XNNPACK delegate 30config_setting( 31 name = "tflite_with_xnnpack_qs8_explicit_true", 32 define_values = {"tflite_with_xnnpack_qs8": "true"}, 33) 34 35# Disable offloading of quantized 8-bit signed operators to XNNPACK delegate 36config_setting( 37 name = "tflite_with_xnnpack_qs8_explicit_false", 38 define_values = {"tflite_with_xnnpack_qs8": "false"}, 39) 40 41# Default setting for offloading of quantized 8-bit signed operators to XNNPACK delegate 42cc_library( 43 name = "tflite_with_xnnpack_qs8_default", 44 compatible_with = get_compatible_with_portable(), 45 defines = ["XNNPACK_DELEGATE_ENABLE_QS8=1"], 46) 47 48cc_library( 49 name = "tflite_with_xnnpack_qs8", 50 compatible_with = get_compatible_with_portable(), 51 defines = select({ 52 ":tflite_with_xnnpack_qs8_explicit_true": ["XNNPACK_DELEGATE_ENABLE_QS8=1"], 53 ":tflite_with_xnnpack_qs8_explicit_false": [], 54 "//conditions:default": [], 55 }), 56 deps = select({ 57 ":tflite_with_xnnpack_qs8_explicit_true": [], 58 ":tflite_with_xnnpack_qs8_explicit_false": [], 59 "//conditions:default": [":tflite_with_xnnpack_qs8_default"], 60 }), 61) 62 63# Enable offloading of quantized 8-bit unsigned operators to XNNPACK delegate 64config_setting( 65 name = "tflite_with_xnnpack_qu8_explicit_true", 66 define_values = {"tflite_with_xnnpack_qu8": "true"}, 67) 68 69# Disable offloading of quantized 8-bit unsigned operators to XNNPACK delegate 70config_setting( 71 name = "tflite_with_xnnpack_qu8_explicit_false", 72 define_values = {"tflite_with_xnnpack_qu8": "false"}, 73) 74 75# Default setting for offloading of quantized 8-bit unsigned operators to XNNPACK delegate 76cc_library( 77 name = "tflite_with_xnnpack_qu8_default", 78 compatible_with = get_compatible_with_portable(), 79 defines = select({ 80 # Enable for WebAssembly builds 81 "//tensorflow:emscripten": ["XNNPACK_DELEGATE_ENABLE_QU8=1"], 82 # Disable for all other builds 83 "//conditions:default": [], 84 }), 85) 86 87cc_library( 88 name = "tflite_with_xnnpack_qu8", 89 compatible_with = get_compatible_with_portable(), 90 defines = select({ 91 ":tflite_with_xnnpack_qu8_explicit_true": ["XNNPACK_DELEGATE_ENABLE_QU8=1"], 92 ":tflite_with_xnnpack_qu8_explicit_false": [], 93 "//conditions:default": [], 94 }), 95 deps = select({ 96 ":tflite_with_xnnpack_qu8_explicit_true": [], 97 ":tflite_with_xnnpack_qu8_explicit_false": [], 98 "//conditions:default": [":tflite_with_xnnpack_qu8_default"], 99 }), 100) 101 102cc_library( 103 name = "xnnpack_delegate", 104 srcs = ["xnnpack_delegate.cc"], 105 hdrs = ["xnnpack_delegate.h"], 106 compatible_with = get_compatible_with_portable(), 107 copts = tflite_copts() + select({ 108 ":xnnpack_force_float_precision_explicit_fp16": ["-DXNNPACK_DELEGATE_FORCE_PRECISION_FP16=1"], 109 "//conditions:default": [], 110 }), 111 linkstatic = True, 112 deps = [ 113 ":quantization_util", 114 ":tflite_with_xnnpack_qs8", 115 ":tflite_with_xnnpack_qu8", 116 "//tensorflow/lite:kernel_api", 117 "//tensorflow/lite:minimal_logging", 118 "//tensorflow/lite/c:common", 119 "//tensorflow/lite/core/api", 120 "//tensorflow/lite/kernels:kernel_util", 121 "//tensorflow/lite/kernels:padding", 122 "//tensorflow/lite/kernels/internal:compatibility", 123 "//tensorflow/lite/kernels/internal:tensor", 124 "//tensorflow/lite/kernels/internal/utils:sparsity_format_converter", 125 "//tensorflow/lite/tools/optimize:reduced_precision_support", 126 "@XNNPACK//:xnnpack_for_tflite", 127 ], 128) 129 130cc_library( 131 name = "xnnpack_delegate_hdrs_only", 132 hdrs = ["xnnpack_delegate.h"], 133 compatible_with = get_compatible_with_portable(), 134 visibility = internal_visibility_allowlist(), 135 deps = [ 136 "//tensorflow/lite/c:common", 137 ], 138) 139 140cc_library( 141 name = "xnnpack_delegate_test_mode", 142 srcs = ["xnnpack_delegate.cc"], 143 hdrs = ["xnnpack_delegate.h"], 144 copts = tflite_copts() + ["-DXNNPACK_DELEGATE_TEST_MODE=1"], 145 linkstatic = True, 146 deps = [ 147 ":quantization_util", 148 "//tensorflow/lite:kernel_api", 149 "//tensorflow/lite:minimal_logging", 150 "//tensorflow/lite/c:common", 151 "//tensorflow/lite/core/api", 152 "//tensorflow/lite/kernels:kernel_util", 153 "//tensorflow/lite/kernels:padding", 154 "//tensorflow/lite/kernels/internal:compatibility", 155 "//tensorflow/lite/kernels/internal:tensor", 156 "//tensorflow/lite/kernels/internal/utils:sparsity_format_converter", 157 "//tensorflow/lite/tools/optimize:reduced_precision_support", 158 "@XNNPACK", 159 ], 160) 161 162cc_library( 163 name = "quantization_util", 164 srcs = ["quantization_util.cc"], 165 hdrs = ["quantization_util.h"], 166 compatible_with = get_compatible_with_portable(), 167 copts = tflite_copts(), 168 deps = [ 169 "//tensorflow/lite/kernels/internal:optimized_base", 170 "//tensorflow/lite/kernels/internal:reference_base", 171 "//tensorflow/lite/kernels/internal:types", 172 "@FP16", 173 ], 174) 175 176################################ Tester classes ################################ 177 178cc_library( 179 name = "test_util", 180 testonly = 1, 181 srcs = ["test_util.cc"], 182 hdrs = ["test_util.h"], 183 deps = [ 184 "//tensorflow/lite/kernels/internal:cppmath", 185 "//tensorflow/lite/kernels/internal:types", 186 ], 187) 188 189cc_library( 190 name = "binary_elementwise_tester", 191 testonly = 1, 192 srcs = ["binary_elementwise_tester.cc"], 193 hdrs = ["binary_elementwise_tester.h"], 194 deps = [ 195 ":test_util", 196 "//tensorflow/lite:framework", 197 "//tensorflow/lite:schema_fbs_version", 198 "//tensorflow/lite/c:common", 199 "//tensorflow/lite/kernels:builtin_ops", 200 "//tensorflow/lite/schema:schema_conversion_utils", 201 "//tensorflow/lite/schema:schema_fbs", 202 "@FP16", 203 "@com_google_googletest//:gtest", 204 "@flatbuffers", 205 ], 206) 207 208cc_library( 209 name = "concatenation_tester", 210 testonly = 1, 211 srcs = ["concatenation_tester.cc"], 212 hdrs = ["concatenation_tester.h"], 213 deps = [ 214 "//tensorflow/lite:framework", 215 "//tensorflow/lite:schema_fbs_version", 216 "//tensorflow/lite/c:common", 217 "//tensorflow/lite/kernels:builtin_ops", 218 "//tensorflow/lite/schema:schema_conversion_utils", 219 "//tensorflow/lite/schema:schema_fbs", 220 "@com_google_googletest//:gtest", 221 "@flatbuffers", 222 ], 223) 224 225cc_library( 226 name = "conv_2d_tester", 227 testonly = 1, 228 srcs = ["conv_2d_tester.cc"], 229 hdrs = ["conv_2d_tester.h"], 230 deps = [ 231 ":test_util", 232 ":xnnpack_delegate_test_mode", 233 "//tensorflow/lite:framework", 234 "//tensorflow/lite:schema_fbs_version", 235 "//tensorflow/lite/c:common", 236 "//tensorflow/lite/kernels:builtin_ops", 237 "//tensorflow/lite/schema:schema_conversion_utils", 238 "//tensorflow/lite/schema:schema_fbs", 239 "@FP16", 240 "@com_google_googletest//:gtest", 241 "@flatbuffers", 242 ], 243) 244 245cc_library( 246 name = "depth_to_space_tester", 247 testonly = 1, 248 srcs = ["depth_to_space_tester.cc"], 249 hdrs = ["depth_to_space_tester.h"], 250 deps = [ 251 "//tensorflow/lite:framework", 252 "//tensorflow/lite:schema_fbs_version", 253 "//tensorflow/lite/c:common", 254 "//tensorflow/lite/kernels:builtin_ops", 255 "//tensorflow/lite/schema:schema_conversion_utils", 256 "//tensorflow/lite/schema:schema_fbs", 257 "@com_google_googletest//:gtest", 258 "@flatbuffers", 259 ], 260) 261 262cc_library( 263 name = "depthwise_conv_2d_tester", 264 testonly = 1, 265 srcs = ["depthwise_conv_2d_tester.cc"], 266 hdrs = ["depthwise_conv_2d_tester.h"], 267 deps = [ 268 ":test_util", 269 ":xnnpack_delegate_test_mode", 270 "//tensorflow/lite:framework", 271 "//tensorflow/lite:schema_fbs_version", 272 "//tensorflow/lite/c:common", 273 "//tensorflow/lite/kernels:builtin_ops", 274 "//tensorflow/lite/schema:schema_conversion_utils", 275 "//tensorflow/lite/schema:schema_fbs", 276 "@FP16", 277 "@com_google_googletest//:gtest", 278 "@flatbuffers", 279 ], 280) 281 282cc_library( 283 name = "dequantize_tester", 284 testonly = 1, 285 srcs = ["dequantize_tester.cc"], 286 hdrs = ["dequantize_tester.h"], 287 deps = [ 288 "//tensorflow/lite:framework", 289 "//tensorflow/lite:schema_fbs_version", 290 "//tensorflow/lite/c:common", 291 "//tensorflow/lite/kernels:builtin_ops", 292 "//tensorflow/lite/schema:schema_conversion_utils", 293 "//tensorflow/lite/schema:schema_fbs", 294 "@com_google_googletest//:gtest", 295 "@flatbuffers", 296 ], 297) 298 299cc_library( 300 name = "fully_connected_tester", 301 testonly = 1, 302 srcs = ["fully_connected_tester.cc"], 303 hdrs = ["fully_connected_tester.h"], 304 deps = [ 305 ":test_util", 306 ":xnnpack_delegate_test_mode", 307 "//tensorflow/lite:framework", 308 "//tensorflow/lite:schema_fbs_version", 309 "//tensorflow/lite/c:common", 310 "//tensorflow/lite/kernels:builtin_ops", 311 "//tensorflow/lite/schema:schema_conversion_utils", 312 "//tensorflow/lite/schema:schema_fbs", 313 "@FP16", 314 "@com_google_googletest//:gtest", 315 "@flatbuffers", 316 ], 317) 318 319cc_library( 320 name = "leaky_relu_tester", 321 testonly = 1, 322 srcs = ["leaky_relu_tester.cc"], 323 hdrs = ["leaky_relu_tester.h"], 324 deps = [ 325 "//tensorflow/lite:framework", 326 "//tensorflow/lite:schema_fbs_version", 327 "//tensorflow/lite/c:common", 328 "//tensorflow/lite/kernels:builtin_ops", 329 "//tensorflow/lite/schema:schema_conversion_utils", 330 "//tensorflow/lite/schema:schema_fbs", 331 "@com_google_googletest//:gtest", 332 "@flatbuffers", 333 ], 334) 335 336cc_library( 337 name = "pad_tester", 338 testonly = 1, 339 srcs = ["pad_tester.cc"], 340 hdrs = ["pad_tester.h"], 341 deps = [ 342 "//tensorflow/lite:framework", 343 "//tensorflow/lite:schema_fbs_version", 344 "//tensorflow/lite/c:common", 345 "//tensorflow/lite/kernels:builtin_ops", 346 "//tensorflow/lite/schema:schema_conversion_utils", 347 "//tensorflow/lite/schema:schema_fbs", 348 "@com_google_googletest//:gtest", 349 "@flatbuffers", 350 ], 351) 352 353cc_library( 354 name = "pool_2d_tester", 355 testonly = 1, 356 srcs = ["pool_2d_tester.cc"], 357 hdrs = ["pool_2d_tester.h"], 358 deps = [ 359 "//tensorflow/lite:framework", 360 "//tensorflow/lite:schema_fbs_version", 361 "//tensorflow/lite/c:common", 362 "//tensorflow/lite/kernels:builtin_ops", 363 "//tensorflow/lite/schema:schema_conversion_utils", 364 "//tensorflow/lite/schema:schema_fbs", 365 "@com_google_googletest//:gtest", 366 "@flatbuffers", 367 ], 368) 369 370cc_library( 371 name = "prelu_tester", 372 testonly = 1, 373 srcs = ["prelu_tester.cc"], 374 hdrs = ["prelu_tester.h"], 375 deps = [ 376 ":test_util", 377 ":xnnpack_delegate_test_mode", 378 "//tensorflow/lite:framework", 379 "//tensorflow/lite:schema_fbs_version", 380 "//tensorflow/lite/c:common", 381 "//tensorflow/lite/kernels:builtin_ops", 382 "//tensorflow/lite/schema:schema_conversion_utils", 383 "//tensorflow/lite/schema:schema_fbs", 384 "@FP16", 385 "@com_google_googletest//:gtest", 386 "@flatbuffers", 387 ], 388) 389 390cc_library( 391 name = "quantize_tester", 392 testonly = 1, 393 srcs = ["quantize_tester.cc"], 394 hdrs = ["quantize_tester.h"], 395 deps = [ 396 "//tensorflow/lite:framework", 397 "//tensorflow/lite:schema_fbs_version", 398 "//tensorflow/lite/c:common", 399 "//tensorflow/lite/kernels:builtin_ops", 400 "//tensorflow/lite/schema:schema_conversion_utils", 401 "//tensorflow/lite/schema:schema_fbs", 402 "@com_google_googletest//:gtest", 403 "@flatbuffers", 404 ], 405) 406 407cc_library( 408 name = "quantized_binary_elementwise_tester", 409 testonly = 1, 410 srcs = ["quantized_binary_elementwise_tester.cc"], 411 hdrs = ["quantized_binary_elementwise_tester.h"], 412 deps = [ 413 "//tensorflow/lite:framework", 414 "//tensorflow/lite:schema_fbs_version", 415 "//tensorflow/lite/c:common", 416 "//tensorflow/lite/kernels:builtin_ops", 417 "//tensorflow/lite/schema:schema_conversion_utils", 418 "//tensorflow/lite/schema:schema_fbs", 419 "@com_google_googletest//:gtest", 420 "@flatbuffers", 421 ], 422) 423 424cc_library( 425 name = "quantized_conv_2d_tester", 426 testonly = 1, 427 srcs = ["quantized_conv_2d_tester.cc"], 428 hdrs = ["quantized_conv_2d_tester.h"], 429 deps = [ 430 ":xnnpack_delegate_test_mode", 431 "//tensorflow/lite:framework", 432 "//tensorflow/lite:schema_fbs_version", 433 "//tensorflow/lite/c:common", 434 "//tensorflow/lite/kernels:builtin_ops", 435 "//tensorflow/lite/schema:schema_conversion_utils", 436 "//tensorflow/lite/schema:schema_fbs", 437 "@com_google_googletest//:gtest", 438 "@flatbuffers", 439 ], 440) 441 442cc_library( 443 name = "quantized_depthwise_conv_2d_tester", 444 testonly = 1, 445 srcs = ["quantized_depthwise_conv_2d_tester.cc"], 446 hdrs = ["quantized_depthwise_conv_2d_tester.h"], 447 deps = [ 448 ":xnnpack_delegate_test_mode", 449 "//tensorflow/lite:framework", 450 "//tensorflow/lite:schema_fbs_version", 451 "//tensorflow/lite/c:common", 452 "//tensorflow/lite/kernels:builtin_ops", 453 "//tensorflow/lite/schema:schema_conversion_utils", 454 "//tensorflow/lite/schema:schema_fbs", 455 "@com_google_googletest//:gtest", 456 "@flatbuffers", 457 ], 458) 459 460cc_library( 461 name = "quantized_fully_connected_tester", 462 testonly = 1, 463 srcs = ["quantized_fully_connected_tester.cc"], 464 hdrs = ["quantized_fully_connected_tester.h"], 465 deps = [ 466 ":xnnpack_delegate_test_mode", 467 "//tensorflow/lite:framework", 468 "//tensorflow/lite:schema_fbs_version", 469 "//tensorflow/lite/c:common", 470 "//tensorflow/lite/kernels:builtin_ops", 471 "//tensorflow/lite/schema:schema_conversion_utils", 472 "//tensorflow/lite/schema:schema_fbs", 473 "@com_google_googletest//:gtest", 474 "@flatbuffers", 475 ], 476) 477 478cc_library( 479 name = "quantized_leaky_relu_tester", 480 testonly = 1, 481 srcs = ["quantized_leaky_relu_tester.cc"], 482 hdrs = ["quantized_leaky_relu_tester.h"], 483 deps = [ 484 "//tensorflow/lite:framework", 485 "//tensorflow/lite:schema_fbs_version", 486 "//tensorflow/lite/c:common", 487 "//tensorflow/lite/kernels:builtin_ops", 488 "//tensorflow/lite/schema:schema_conversion_utils", 489 "//tensorflow/lite/schema:schema_fbs", 490 "@com_google_googletest//:gtest", 491 "@flatbuffers", 492 ], 493) 494 495cc_library( 496 name = "quantized_pad_tester", 497 testonly = 1, 498 srcs = ["quantized_pad_tester.cc"], 499 hdrs = ["quantized_pad_tester.h"], 500 deps = [ 501 "//tensorflow/lite:framework", 502 "//tensorflow/lite:schema_fbs_version", 503 "//tensorflow/lite/c:common", 504 "//tensorflow/lite/kernels:builtin_ops", 505 "//tensorflow/lite/schema:schema_conversion_utils", 506 "//tensorflow/lite/schema:schema_fbs", 507 "@com_google_googletest//:gtest", 508 "@flatbuffers", 509 ], 510) 511 512cc_library( 513 name = "quantized_pool_2d_tester", 514 testonly = 1, 515 srcs = ["quantized_pool_2d_tester.cc"], 516 hdrs = ["quantized_pool_2d_tester.h"], 517 deps = [ 518 "//tensorflow/lite:framework", 519 "//tensorflow/lite:schema_fbs_version", 520 "//tensorflow/lite/c:common", 521 "//tensorflow/lite/kernels:builtin_ops", 522 "//tensorflow/lite/schema:schema_conversion_utils", 523 "//tensorflow/lite/schema:schema_fbs", 524 "@com_google_googletest//:gtest", 525 "@flatbuffers", 526 ], 527) 528 529cc_library( 530 name = "quantized_reduce_tester", 531 testonly = 1, 532 srcs = ["quantized_reduce_tester.cc"], 533 hdrs = ["quantized_reduce_tester.h"], 534 deps = [ 535 "//tensorflow/lite:framework", 536 "//tensorflow/lite:schema_fbs_version", 537 "//tensorflow/lite/c:common", 538 "//tensorflow/lite/kernels:builtin_ops", 539 "//tensorflow/lite/schema:schema_conversion_utils", 540 "//tensorflow/lite/schema:schema_fbs", 541 "@com_google_googletest//:gtest", 542 "@flatbuffers", 543 ], 544) 545 546cc_library( 547 name = "quantized_resize_bilinear_tester", 548 testonly = 1, 549 srcs = ["quantized_resize_bilinear_tester.cc"], 550 hdrs = ["quantized_resize_bilinear_tester.h"], 551 deps = [ 552 "//tensorflow/lite:framework", 553 "//tensorflow/lite:schema_fbs_version", 554 "//tensorflow/lite/c:common", 555 "//tensorflow/lite/kernels:builtin_ops", 556 "//tensorflow/lite/schema:schema_conversion_utils", 557 "//tensorflow/lite/schema:schema_fbs", 558 "@com_google_googletest//:gtest", 559 "@flatbuffers", 560 ], 561) 562 563cc_library( 564 name = "quantized_unary_elementwise_tester", 565 testonly = 1, 566 srcs = ["quantized_unary_elementwise_tester.cc"], 567 hdrs = ["quantized_unary_elementwise_tester.h"], 568 deps = [ 569 "//tensorflow/lite:framework", 570 "//tensorflow/lite:schema_fbs_version", 571 "//tensorflow/lite/c:common", 572 "//tensorflow/lite/kernels:builtin_ops", 573 "//tensorflow/lite/schema:schema_conversion_utils", 574 "//tensorflow/lite/schema:schema_fbs", 575 "@com_google_googletest//:gtest", 576 "@flatbuffers", 577 ], 578) 579 580cc_library( 581 name = "reduce_tester", 582 testonly = 1, 583 srcs = ["reduce_tester.cc"], 584 hdrs = ["reduce_tester.h"], 585 deps = [ 586 "//tensorflow/lite:framework", 587 "//tensorflow/lite:schema_fbs_version", 588 "//tensorflow/lite/c:common", 589 "//tensorflow/lite/kernels:builtin_ops", 590 "//tensorflow/lite/schema:schema_conversion_utils", 591 "//tensorflow/lite/schema:schema_fbs", 592 "@com_google_googletest//:gtest", 593 "@flatbuffers", 594 ], 595) 596 597cc_library( 598 name = "reshape_tester", 599 testonly = 1, 600 srcs = ["reshape_tester.cc"], 601 hdrs = ["reshape_tester.h"], 602 deps = [ 603 "//tensorflow/lite:framework", 604 "//tensorflow/lite:schema_fbs_version", 605 "//tensorflow/lite/c:common", 606 "//tensorflow/lite/kernels:builtin_ops", 607 "//tensorflow/lite/schema:schema_conversion_utils", 608 "//tensorflow/lite/schema:schema_fbs", 609 "@com_google_googletest//:gtest", 610 "@flatbuffers", 611 ], 612) 613 614cc_library( 615 name = "resize_bilinear_tester", 616 testonly = 1, 617 srcs = ["resize_bilinear_tester.cc"], 618 hdrs = ["resize_bilinear_tester.h"], 619 deps = [ 620 "//tensorflow/lite:framework", 621 "//tensorflow/lite:schema_fbs_version", 622 "//tensorflow/lite/c:common", 623 "//tensorflow/lite/kernels:builtin_ops", 624 "//tensorflow/lite/schema:schema_conversion_utils", 625 "//tensorflow/lite/schema:schema_fbs", 626 "@com_google_googletest//:gtest", 627 "@flatbuffers", 628 ], 629) 630 631cc_library( 632 name = "split_tester", 633 testonly = 1, 634 srcs = ["split_tester.cc"], 635 hdrs = ["split_tester.h"], 636 deps = [ 637 "//tensorflow/lite:framework", 638 "//tensorflow/lite:schema_fbs_version", 639 "//tensorflow/lite/c:common", 640 "//tensorflow/lite/kernels:builtin_ops", 641 "//tensorflow/lite/schema:schema_conversion_utils", 642 "//tensorflow/lite/schema:schema_fbs", 643 "@com_google_googletest//:gtest", 644 "@flatbuffers", 645 ], 646) 647 648cc_library( 649 name = "softmax_tester", 650 testonly = 1, 651 srcs = ["softmax_tester.cc"], 652 hdrs = ["softmax_tester.h"], 653 deps = [ 654 "//tensorflow/lite:framework", 655 "//tensorflow/lite:schema_fbs_version", 656 "//tensorflow/lite/c:common", 657 "//tensorflow/lite/kernels:builtin_ops", 658 "//tensorflow/lite/schema:schema_conversion_utils", 659 "//tensorflow/lite/schema:schema_fbs", 660 "@com_google_googletest//:gtest", 661 "@flatbuffers", 662 ], 663) 664 665cc_library( 666 name = "unary_elementwise_tester", 667 testonly = 1, 668 srcs = ["unary_elementwise_tester.cc"], 669 hdrs = ["unary_elementwise_tester.h"], 670 deps = [ 671 "//tensorflow/lite:framework", 672 "//tensorflow/lite:schema_fbs_version", 673 "//tensorflow/lite/c:common", 674 "//tensorflow/lite/kernels:builtin_ops", 675 "//tensorflow/lite/schema:schema_conversion_utils", 676 "//tensorflow/lite/schema:schema_fbs", 677 "@com_google_googletest//:gtest", 678 "@flatbuffers", 679 ], 680) 681 682cc_library( 683 name = "transpose_tester", 684 testonly = 1, 685 srcs = ["transpose_tester.cc"], 686 hdrs = ["transpose_tester.h"], 687 deps = [ 688 "//tensorflow/lite:framework", 689 "//tensorflow/lite:schema_fbs_version", 690 "//tensorflow/lite/c:common", 691 "//tensorflow/lite/kernels:builtin_ops", 692 "//tensorflow/lite/schema:schema_conversion_utils", 693 "//tensorflow/lite/schema:schema_fbs", 694 "@com_google_googletest//:gtest", 695 "@flatbuffers", 696 ], 697) 698 699cc_library( 700 name = "transpose_conv_tester", 701 testonly = 1, 702 srcs = ["transpose_conv_tester.cc"], 703 hdrs = ["transpose_conv_tester.h"], 704 deps = [ 705 ":test_util", 706 ":xnnpack_delegate_test_mode", 707 "//tensorflow/lite:framework", 708 "//tensorflow/lite:schema_fbs_version", 709 "//tensorflow/lite/c:common", 710 "//tensorflow/lite/kernels:builtin_ops", 711 "//tensorflow/lite/schema:schema_conversion_utils", 712 "//tensorflow/lite/schema:schema_fbs", 713 "@FP16", 714 "@com_google_googletest//:gtest", 715 "@flatbuffers", 716 ], 717) 718 719cc_library( 720 name = "quantized_transpose_conv_tester", 721 testonly = 1, 722 srcs = ["quantized_transpose_conv_tester.cc"], 723 hdrs = ["quantized_transpose_conv_tester.h"], 724 deps = [ 725 ":xnnpack_delegate_test_mode", 726 "//tensorflow/lite:framework", 727 "//tensorflow/lite:schema_fbs_version", 728 "//tensorflow/lite/c:common", 729 "//tensorflow/lite/kernels:builtin_ops", 730 "//tensorflow/lite/schema:schema_conversion_utils", 731 "//tensorflow/lite/schema:schema_fbs", 732 "@FP16", 733 "@com_google_googletest//:gtest", 734 "@flatbuffers", 735 ], 736) 737 738############################## Integration tests ############################### 739 740cc_library( 741 name = "test_main", 742 testonly = 1, 743 linkopts = select({ 744 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 745 "//conditions:default": [], 746 }), 747 deps = [ 748 "@com_google_googletest//:gtest_main", 749 ], 750) 751 752cc_test( 753 name = "abs_test", 754 srcs = ["abs_test.cc"], 755 linkopts = select({ 756 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 757 "//conditions:default": [], 758 }), 759 deps = [ 760 ":test_main", 761 ":unary_elementwise_tester", 762 ":xnnpack_delegate_test_mode", 763 "@com_google_googletest//:gtest", 764 ], 765) 766 767cc_test( 768 name = "add_test", 769 srcs = ["add_test.cc"], 770 linkopts = select({ 771 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 772 "//conditions:default": [], 773 }), 774 deps = [ 775 ":binary_elementwise_tester", 776 ":test_main", 777 ":xnnpack_delegate_test_mode", 778 "@com_google_googletest//:gtest", 779 ], 780) 781 782cc_test( 783 name = "average_pool_2d_test", 784 srcs = ["average_pool_2d_test.cc"], 785 linkopts = select({ 786 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 787 "//conditions:default": [], 788 }), 789 deps = [ 790 ":pool_2d_tester", 791 ":test_main", 792 ":xnnpack_delegate_test_mode", 793 "@com_google_googletest//:gtest", 794 ], 795) 796 797cc_test( 798 name = "ceil_test", 799 srcs = ["ceil_test.cc"], 800 linkopts = select({ 801 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 802 "//conditions:default": [], 803 }), 804 deps = [ 805 ":test_main", 806 ":unary_elementwise_tester", 807 ":xnnpack_delegate_test_mode", 808 "@com_google_googletest//:gtest", 809 ], 810) 811 812cc_test( 813 name = "channelwise_quantized_conv_2d_test", 814 srcs = ["channelwise_quantized_conv_2d_test.cc"], 815 linkopts = select({ 816 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 817 "//conditions:default": [], 818 }), 819 deps = [ 820 ":quantized_conv_2d_tester", 821 ":test_main", 822 ":xnnpack_delegate_test_mode", 823 "@com_google_googletest//:gtest", 824 ], 825) 826 827cc_test( 828 name = "channelwise_quantized_depthwise_conv_2d_test", 829 srcs = ["channelwise_quantized_depthwise_conv_2d_test.cc"], 830 linkopts = select({ 831 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 832 "//conditions:default": [], 833 }), 834 deps = [ 835 ":quantized_depthwise_conv_2d_tester", 836 ":test_main", 837 ":xnnpack_delegate_test_mode", 838 "@com_google_googletest//:gtest", 839 ], 840) 841 842cc_test( 843 name = "concatenation_test", 844 srcs = ["concatenation_test.cc"], 845 linkopts = select({ 846 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 847 "//conditions:default": [], 848 }), 849 deps = [ 850 ":concatenation_tester", 851 ":test_main", 852 ":xnnpack_delegate_test_mode", 853 "@com_google_googletest//:gtest", 854 ], 855) 856 857cc_test( 858 name = "conv_2d_test", 859 srcs = ["conv_2d_test.cc"], 860 linkopts = select({ 861 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 862 "//conditions:default": [], 863 }), 864 deps = [ 865 ":conv_2d_tester", 866 ":test_main", 867 ":xnnpack_delegate_test_mode", 868 "@com_google_googletest//:gtest", 869 ], 870) 871 872cc_test( 873 name = "delegate_test", 874 srcs = ["delegate_test.cc"], 875 linkopts = select({ 876 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 877 "//conditions:default": [], 878 }), 879 deps = [ 880 ":test_main", 881 ":xnnpack_delegate_test_mode", 882 "@com_google_googletest//:gtest", 883 "@pthreadpool", 884 ], 885) 886 887cc_test( 888 name = "depth_to_space_test", 889 srcs = ["depth_to_space_test.cc"], 890 linkopts = select({ 891 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 892 "//conditions:default": [], 893 }), 894 deps = [ 895 ":depth_to_space_tester", 896 ":test_main", 897 ":xnnpack_delegate_test_mode", 898 "@com_google_googletest//:gtest", 899 ], 900) 901 902cc_test( 903 name = "depthwise_conv_2d_test", 904 srcs = ["depthwise_conv_2d_test.cc"], 905 linkopts = select({ 906 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 907 "//conditions:default": [], 908 }), 909 deps = [ 910 ":depthwise_conv_2d_tester", 911 ":test_main", 912 ":xnnpack_delegate_test_mode", 913 "@com_google_googletest//:gtest", 914 ], 915) 916 917cc_test( 918 name = "div_test", 919 srcs = ["div_test.cc"], 920 linkopts = select({ 921 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 922 "//conditions:default": [], 923 }), 924 deps = [ 925 ":binary_elementwise_tester", 926 ":test_main", 927 ":xnnpack_delegate_test_mode", 928 "@com_google_googletest//:gtest", 929 ], 930) 931 932cc_test( 933 name = "elu_test", 934 srcs = ["elu_test.cc"], 935 linkopts = select({ 936 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 937 "//conditions:default": [], 938 }), 939 deps = [ 940 ":test_main", 941 ":unary_elementwise_tester", 942 ":xnnpack_delegate_test_mode", 943 "@com_google_googletest//:gtest", 944 ], 945) 946 947cc_test( 948 name = "fully_connected_test", 949 srcs = ["fully_connected_test.cc"], 950 linkopts = select({ 951 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 952 "//conditions:default": [], 953 }), 954 deps = [ 955 ":fully_connected_tester", 956 ":test_main", 957 ":xnnpack_delegate_test_mode", 958 "@com_google_googletest//:gtest", 959 ], 960) 961 962cc_test( 963 name = "floor_test", 964 srcs = ["floor_test.cc"], 965 linkopts = select({ 966 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 967 "//conditions:default": [], 968 }), 969 deps = [ 970 ":test_main", 971 ":unary_elementwise_tester", 972 ":xnnpack_delegate_test_mode", 973 "@com_google_googletest//:gtest", 974 ], 975) 976 977cc_test( 978 name = "hard_swish_test", 979 srcs = ["hard_swish_test.cc"], 980 linkopts = select({ 981 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 982 "//conditions:default": [], 983 }), 984 deps = [ 985 ":test_main", 986 ":unary_elementwise_tester", 987 ":xnnpack_delegate_test_mode", 988 "@com_google_googletest//:gtest", 989 ], 990) 991 992cc_test( 993 name = "leaky_relu_test", 994 srcs = ["leaky_relu_test.cc"], 995 linkopts = select({ 996 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 997 "//conditions:default": [], 998 }), 999 deps = [ 1000 ":leaky_relu_tester", 1001 ":test_main", 1002 ":xnnpack_delegate_test_mode", 1003 "@com_google_googletest//:gtest", 1004 ], 1005) 1006 1007cc_test( 1008 name = "logistic_test", 1009 srcs = ["logistic_test.cc"], 1010 linkopts = select({ 1011 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1012 "//conditions:default": [], 1013 }), 1014 deps = [ 1015 ":test_main", 1016 ":unary_elementwise_tester", 1017 ":xnnpack_delegate_test_mode", 1018 "@com_google_googletest//:gtest", 1019 ], 1020) 1021 1022cc_test( 1023 name = "max_pool_2d_test", 1024 srcs = ["max_pool_2d_test.cc"], 1025 linkopts = select({ 1026 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1027 "//conditions:default": [], 1028 }), 1029 deps = [ 1030 ":pool_2d_tester", 1031 ":test_main", 1032 ":xnnpack_delegate_test_mode", 1033 "@com_google_googletest//:gtest", 1034 ], 1035) 1036 1037cc_test( 1038 name = "maximum_test", 1039 srcs = ["maximum_test.cc"], 1040 linkopts = select({ 1041 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1042 "//conditions:default": [], 1043 }), 1044 deps = [ 1045 ":binary_elementwise_tester", 1046 ":test_main", 1047 ":xnnpack_delegate_test_mode", 1048 "@com_google_googletest//:gtest", 1049 ], 1050) 1051 1052cc_test( 1053 name = "mean_test", 1054 srcs = ["mean_test.cc"], 1055 linkopts = select({ 1056 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1057 "//conditions:default": [], 1058 }), 1059 deps = [ 1060 ":reduce_tester", 1061 ":test_main", 1062 ":xnnpack_delegate_test_mode", 1063 "@com_google_googletest//:gtest", 1064 ], 1065) 1066 1067cc_test( 1068 name = "minimum_test", 1069 srcs = ["minimum_test.cc"], 1070 linkopts = select({ 1071 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1072 "//conditions:default": [], 1073 }), 1074 deps = [ 1075 ":binary_elementwise_tester", 1076 ":test_main", 1077 ":xnnpack_delegate_test_mode", 1078 "@com_google_googletest//:gtest", 1079 ], 1080) 1081 1082cc_test( 1083 name = "mul_test", 1084 srcs = ["mul_test.cc"], 1085 linkopts = select({ 1086 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1087 "//conditions:default": [], 1088 }), 1089 deps = [ 1090 ":binary_elementwise_tester", 1091 ":test_main", 1092 ":xnnpack_delegate_test_mode", 1093 "@com_google_googletest//:gtest", 1094 ], 1095) 1096 1097cc_test( 1098 name = "neg_test", 1099 srcs = ["neg_test.cc"], 1100 linkopts = select({ 1101 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1102 "//conditions:default": [], 1103 }), 1104 deps = [ 1105 ":test_main", 1106 ":unary_elementwise_tester", 1107 ":xnnpack_delegate_test_mode", 1108 "@com_google_googletest//:gtest", 1109 ], 1110) 1111 1112cc_test( 1113 name = "pad_test", 1114 srcs = ["pad_test.cc"], 1115 linkopts = select({ 1116 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1117 "//conditions:default": [], 1118 }), 1119 deps = [ 1120 ":pad_tester", 1121 ":test_main", 1122 ":xnnpack_delegate_test_mode", 1123 "@com_google_googletest//:gtest", 1124 ], 1125) 1126 1127cc_test( 1128 name = "prelu_test", 1129 srcs = ["prelu_test.cc"], 1130 linkopts = select({ 1131 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1132 "//conditions:default": [], 1133 }), 1134 deps = [ 1135 ":prelu_tester", 1136 ":test_main", 1137 ":xnnpack_delegate_test_mode", 1138 "@com_google_googletest//:gtest", 1139 ], 1140) 1141 1142cc_test( 1143 name = "quantization_util_test", 1144 srcs = ["quantization_util_test.cc"], 1145 linkopts = select({ 1146 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1147 "//conditions:default": [], 1148 }), 1149 deps = [ 1150 ":quantization_util", 1151 ":test_main", 1152 "//tensorflow/lite/kernels/internal:types", 1153 "@com_google_googletest//:gtest", 1154 ], 1155) 1156 1157cc_test( 1158 name = "quantize_float32_to_int8_test", 1159 srcs = ["quantize_float32_to_int8_test.cc"], 1160 linkopts = select({ 1161 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1162 "//conditions:default": [], 1163 }), 1164 deps = [ 1165 ":quantize_tester", 1166 ":test_main", 1167 ":xnnpack_delegate_test_mode", 1168 "@com_google_googletest//:gtest", 1169 ], 1170) 1171 1172cc_test( 1173 name = "quantize_float32_to_uint8_test", 1174 srcs = ["quantize_float32_to_uint8_test.cc"], 1175 linkopts = select({ 1176 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1177 "//conditions:default": [], 1178 }), 1179 deps = [ 1180 ":quantize_tester", 1181 ":test_main", 1182 ":xnnpack_delegate_test_mode", 1183 "@com_google_googletest//:gtest", 1184 ], 1185) 1186 1187cc_test( 1188 name = "quantize_int8_to_int8_test", 1189 srcs = ["quantize_int8_to_int8_test.cc"], 1190 linkopts = select({ 1191 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1192 "//conditions:default": [], 1193 }), 1194 deps = [ 1195 ":quantize_tester", 1196 ":test_main", 1197 ":xnnpack_delegate_test_mode", 1198 "@com_google_googletest//:gtest", 1199 ], 1200) 1201 1202cc_test( 1203 name = "quantize_uint8_to_uint8_test", 1204 srcs = ["quantize_uint8_to_uint8_test.cc"], 1205 linkopts = select({ 1206 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1207 "//conditions:default": [], 1208 }), 1209 deps = [ 1210 ":quantize_tester", 1211 ":test_main", 1212 ":xnnpack_delegate_test_mode", 1213 "@com_google_googletest//:gtest", 1214 ], 1215) 1216 1217cc_test( 1218 name = "relu_test", 1219 srcs = ["relu_test.cc"], 1220 linkopts = select({ 1221 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1222 "//conditions:default": [], 1223 }), 1224 deps = [ 1225 ":test_main", 1226 ":unary_elementwise_tester", 1227 ":xnnpack_delegate_test_mode", 1228 "@com_google_googletest//:gtest", 1229 ], 1230) 1231 1232cc_test( 1233 name = "relu6_test", 1234 srcs = ["relu6_test.cc"], 1235 linkopts = select({ 1236 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1237 "//conditions:default": [], 1238 }), 1239 deps = [ 1240 ":test_main", 1241 ":unary_elementwise_tester", 1242 ":xnnpack_delegate_test_mode", 1243 "@com_google_googletest//:gtest", 1244 ], 1245) 1246 1247cc_test( 1248 name = "relu_n1_to_1_test", 1249 srcs = ["relu_n1_to_1_test.cc"], 1250 linkopts = select({ 1251 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1252 "//conditions:default": [], 1253 }), 1254 deps = [ 1255 ":test_main", 1256 ":unary_elementwise_tester", 1257 ":xnnpack_delegate_test_mode", 1258 "@com_google_googletest//:gtest", 1259 ], 1260) 1261 1262cc_test( 1263 name = "reshape_test", 1264 srcs = ["reshape_test.cc"], 1265 linkopts = select({ 1266 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1267 "//conditions:default": [], 1268 }), 1269 deps = [ 1270 ":reshape_tester", 1271 ":test_main", 1272 ":xnnpack_delegate_test_mode", 1273 "@com_google_googletest//:gtest", 1274 ], 1275) 1276 1277cc_test( 1278 name = "resize_bilinear_test", 1279 srcs = ["resize_bilinear_test.cc"], 1280 linkopts = select({ 1281 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1282 "//conditions:default": [], 1283 }), 1284 deps = [ 1285 ":resize_bilinear_tester", 1286 ":test_main", 1287 ":xnnpack_delegate_test_mode", 1288 "@com_google_googletest//:gtest", 1289 ], 1290) 1291 1292cc_test( 1293 name = "round_test", 1294 srcs = ["round_test.cc"], 1295 linkopts = select({ 1296 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1297 "//conditions:default": [], 1298 }), 1299 deps = [ 1300 ":test_main", 1301 ":unary_elementwise_tester", 1302 ":xnnpack_delegate_test_mode", 1303 "@com_google_googletest//:gtest", 1304 ], 1305) 1306 1307cc_test( 1308 name = "signed_dequantize_test", 1309 srcs = ["signed_dequantize_test.cc"], 1310 linkopts = select({ 1311 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1312 "//conditions:default": [], 1313 }), 1314 deps = [ 1315 ":dequantize_tester", 1316 ":test_main", 1317 ":xnnpack_delegate_test_mode", 1318 "@com_google_googletest//:gtest", 1319 ], 1320) 1321 1322cc_test( 1323 name = "signed_quantized_add_test", 1324 srcs = ["signed_quantized_add_test.cc"], 1325 linkopts = select({ 1326 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1327 "//conditions:default": [], 1328 }), 1329 deps = [ 1330 ":quantized_binary_elementwise_tester", 1331 ":test_main", 1332 ":xnnpack_delegate_test_mode", 1333 "@com_google_googletest//:gtest", 1334 ], 1335) 1336 1337cc_test( 1338 name = "signed_quantized_concatenation_test", 1339 srcs = ["signed_quantized_concatenation_test.cc"], 1340 linkopts = select({ 1341 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1342 "//conditions:default": [], 1343 }), 1344 deps = [ 1345 ":concatenation_tester", 1346 ":test_main", 1347 ":xnnpack_delegate_test_mode", 1348 "@com_google_googletest//:gtest", 1349 ], 1350) 1351 1352cc_test( 1353 name = "signed_quantized_conv_2d_test", 1354 srcs = ["signed_quantized_conv_2d_test.cc"], 1355 linkopts = select({ 1356 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1357 "//conditions:default": [], 1358 }), 1359 deps = [ 1360 ":quantized_conv_2d_tester", 1361 ":test_main", 1362 ":xnnpack_delegate_test_mode", 1363 "@com_google_googletest//:gtest", 1364 ], 1365) 1366 1367cc_test( 1368 name = "signed_quantized_depthwise_conv_2d_test", 1369 srcs = ["signed_quantized_depthwise_conv_2d_test.cc"], 1370 linkopts = select({ 1371 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1372 "//conditions:default": [], 1373 }), 1374 deps = [ 1375 ":quantized_depthwise_conv_2d_tester", 1376 ":test_main", 1377 ":xnnpack_delegate_test_mode", 1378 "@com_google_googletest//:gtest", 1379 ], 1380) 1381 1382cc_test( 1383 name = "signed_quantized_depth_to_space_test", 1384 srcs = ["signed_quantized_depth_to_space_test.cc"], 1385 linkopts = select({ 1386 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1387 "//conditions:default": [], 1388 }), 1389 deps = [ 1390 ":depth_to_space_tester", 1391 ":test_main", 1392 ":xnnpack_delegate_test_mode", 1393 "@com_google_googletest//:gtest", 1394 ], 1395) 1396 1397cc_test( 1398 name = "signed_quantized_elu_test", 1399 srcs = ["signed_quantized_elu_test.cc"], 1400 linkopts = select({ 1401 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1402 "//conditions:default": [], 1403 }), 1404 deps = [ 1405 ":quantized_unary_elementwise_tester", 1406 ":test_main", 1407 ":xnnpack_delegate_test_mode", 1408 "@com_google_googletest//:gtest", 1409 ], 1410) 1411 1412cc_test( 1413 name = "signed_quantized_fully_connected_test", 1414 srcs = ["signed_quantized_fully_connected_test.cc"], 1415 linkopts = select({ 1416 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1417 "//conditions:default": [], 1418 }), 1419 deps = [ 1420 ":quantized_fully_connected_tester", 1421 ":test_main", 1422 ":xnnpack_delegate_test_mode", 1423 "@com_google_googletest//:gtest", 1424 ], 1425) 1426 1427cc_test( 1428 name = "signed_quantized_leaky_relu_test", 1429 srcs = ["signed_quantized_leaky_relu_test.cc"], 1430 linkopts = select({ 1431 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1432 "//conditions:default": [], 1433 }), 1434 deps = [ 1435 ":quantized_leaky_relu_tester", 1436 ":test_main", 1437 ":xnnpack_delegate_test_mode", 1438 "@com_google_googletest//:gtest", 1439 ], 1440) 1441 1442cc_test( 1443 name = "signed_quantized_logistic_test", 1444 srcs = ["signed_quantized_logistic_test.cc"], 1445 linkopts = select({ 1446 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1447 "//conditions:default": [], 1448 }), 1449 deps = [ 1450 ":quantized_unary_elementwise_tester", 1451 ":test_main", 1452 ":xnnpack_delegate_test_mode", 1453 "@com_google_googletest//:gtest", 1454 ], 1455) 1456 1457cc_test( 1458 name = "signed_quantized_max_pool_2d_test", 1459 srcs = ["signed_quantized_max_pool_2d_test.cc"], 1460 linkopts = select({ 1461 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1462 "//conditions:default": [], 1463 }), 1464 deps = [ 1465 ":quantized_pool_2d_tester", 1466 ":test_main", 1467 ":xnnpack_delegate_test_mode", 1468 "@com_google_googletest//:gtest", 1469 ], 1470) 1471 1472cc_test( 1473 name = "signed_quantized_mean_test", 1474 srcs = ["signed_quantized_mean_test.cc"], 1475 linkopts = select({ 1476 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1477 "//conditions:default": [], 1478 }), 1479 deps = [ 1480 ":quantized_reduce_tester", 1481 ":test_main", 1482 ":xnnpack_delegate_test_mode", 1483 "@com_google_googletest//:gtest", 1484 ], 1485) 1486 1487cc_test( 1488 name = "signed_quantized_mul_test", 1489 srcs = ["signed_quantized_mul_test.cc"], 1490 linkopts = select({ 1491 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1492 "//conditions:default": [], 1493 }), 1494 deps = [ 1495 ":quantized_binary_elementwise_tester", 1496 ":test_main", 1497 ":xnnpack_delegate_test_mode", 1498 "@com_google_googletest//:gtest", 1499 ], 1500) 1501 1502cc_test( 1503 name = "signed_quantized_pad_test", 1504 srcs = ["signed_quantized_pad_test.cc"], 1505 linkopts = select({ 1506 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1507 "//conditions:default": [], 1508 }), 1509 deps = [ 1510 ":quantized_pad_tester", 1511 ":test_main", 1512 ":xnnpack_delegate_test_mode", 1513 "@com_google_googletest//:gtest", 1514 ], 1515) 1516 1517cc_test( 1518 name = "signed_quantized_resize_bilinear_test", 1519 srcs = ["signed_quantized_resize_bilinear_test.cc"], 1520 linkopts = select({ 1521 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1522 "//conditions:default": [], 1523 }), 1524 deps = [ 1525 ":quantized_resize_bilinear_tester", 1526 ":test_main", 1527 ":xnnpack_delegate_test_mode", 1528 "@com_google_googletest//:gtest", 1529 ], 1530) 1531 1532cc_test( 1533 name = "signed_quantized_split_test", 1534 srcs = ["signed_quantized_split_test.cc"], 1535 linkopts = select({ 1536 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1537 "//conditions:default": [], 1538 }), 1539 deps = [ 1540 ":split_tester", 1541 ":test_main", 1542 ":xnnpack_delegate_test_mode", 1543 "@com_google_googletest//:gtest", 1544 ], 1545) 1546 1547cc_test( 1548 name = "signed_quantized_sub_test", 1549 srcs = ["signed_quantized_sub_test.cc"], 1550 linkopts = select({ 1551 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1552 "//conditions:default": [], 1553 }), 1554 deps = [ 1555 ":quantized_binary_elementwise_tester", 1556 ":test_main", 1557 ":xnnpack_delegate_test_mode", 1558 "@com_google_googletest//:gtest", 1559 ], 1560) 1561 1562cc_test( 1563 name = "signed_quantized_transpose_test", 1564 srcs = ["signed_quantized_transpose_test.cc"], 1565 linkopts = select({ 1566 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1567 "//conditions:default": [], 1568 }), 1569 deps = [ 1570 ":test_main", 1571 ":transpose_tester", 1572 ":xnnpack_delegate_test_mode", 1573 "@com_google_googletest//:gtest", 1574 ], 1575) 1576 1577cc_test( 1578 name = "signed_quantized_transpose_conv_test", 1579 srcs = ["signed_quantized_transpose_conv_test.cc"], 1580 linkopts = select({ 1581 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1582 "//conditions:default": [], 1583 }), 1584 deps = [ 1585 ":quantized_transpose_conv_tester", 1586 ":test_main", 1587 ":xnnpack_delegate_test_mode", 1588 "@com_google_googletest//:gtest", 1589 ], 1590) 1591 1592cc_test( 1593 name = "split_test", 1594 srcs = ["split_test.cc"], 1595 linkopts = select({ 1596 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1597 "//conditions:default": [], 1598 }), 1599 deps = [ 1600 ":split_tester", 1601 ":test_main", 1602 ":xnnpack_delegate_test_mode", 1603 "@com_google_googletest//:gtest", 1604 ], 1605) 1606 1607cc_test( 1608 name = "softmax_test", 1609 srcs = ["softmax_test.cc"], 1610 linkopts = select({ 1611 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1612 "//conditions:default": [], 1613 }), 1614 deps = [ 1615 ":softmax_tester", 1616 ":test_main", 1617 ":xnnpack_delegate_test_mode", 1618 "@com_google_googletest//:gtest", 1619 ], 1620) 1621 1622cc_test( 1623 name = "sqrt_test", 1624 srcs = ["sqrt_test.cc"], 1625 linkopts = select({ 1626 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1627 "//conditions:default": [], 1628 }), 1629 deps = [ 1630 ":test_main", 1631 ":unary_elementwise_tester", 1632 ":xnnpack_delegate_test_mode", 1633 "@com_google_googletest//:gtest", 1634 ], 1635) 1636 1637cc_test( 1638 name = "square_test", 1639 srcs = ["square_test.cc"], 1640 linkopts = select({ 1641 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1642 "//conditions:default": [], 1643 }), 1644 deps = [ 1645 ":test_main", 1646 ":unary_elementwise_tester", 1647 ":xnnpack_delegate_test_mode", 1648 "@com_google_googletest//:gtest", 1649 ], 1650) 1651 1652cc_test( 1653 name = "squared_difference_test", 1654 srcs = ["squared_difference_test.cc"], 1655 linkopts = select({ 1656 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1657 "//conditions:default": [], 1658 }), 1659 deps = [ 1660 ":binary_elementwise_tester", 1661 ":test_main", 1662 ":xnnpack_delegate_test_mode", 1663 "@com_google_googletest//:gtest", 1664 ], 1665) 1666 1667cc_test( 1668 name = "sub_test", 1669 srcs = ["sub_test.cc"], 1670 linkopts = select({ 1671 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1672 "//conditions:default": [], 1673 }), 1674 deps = [ 1675 ":binary_elementwise_tester", 1676 ":test_main", 1677 ":xnnpack_delegate_test_mode", 1678 "@com_google_googletest//:gtest", 1679 ], 1680) 1681 1682cc_test( 1683 name = "transpose_test", 1684 srcs = ["transpose_test.cc"], 1685 linkopts = select({ 1686 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1687 "//conditions:default": [], 1688 }), 1689 deps = [ 1690 ":test_main", 1691 ":transpose_tester", 1692 ":xnnpack_delegate_test_mode", 1693 "@com_google_googletest//:gtest", 1694 ], 1695) 1696 1697cc_test( 1698 name = "transpose_conv_test", 1699 srcs = ["transpose_conv_test.cc"], 1700 linkopts = select({ 1701 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1702 "//conditions:default": [], 1703 }), 1704 deps = [ 1705 ":test_main", 1706 ":transpose_conv_tester", 1707 ":xnnpack_delegate_test_mode", 1708 "@com_google_googletest//:gtest", 1709 ], 1710) 1711 1712cc_test( 1713 name = "unsigned_dequantize_test", 1714 srcs = ["unsigned_dequantize_test.cc"], 1715 linkopts = select({ 1716 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1717 "//conditions:default": [], 1718 }), 1719 deps = [ 1720 ":dequantize_tester", 1721 ":test_main", 1722 ":xnnpack_delegate_test_mode", 1723 "@com_google_googletest//:gtest", 1724 ], 1725) 1726 1727cc_test( 1728 name = "unsigned_quantized_add_test", 1729 srcs = ["unsigned_quantized_add_test.cc"], 1730 linkopts = select({ 1731 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1732 "//conditions:default": [], 1733 }), 1734 deps = [ 1735 ":quantized_binary_elementwise_tester", 1736 ":test_main", 1737 ":xnnpack_delegate_test_mode", 1738 "@com_google_googletest//:gtest", 1739 ], 1740) 1741 1742cc_test( 1743 name = "unsigned_quantized_concatenation_test", 1744 srcs = ["unsigned_quantized_concatenation_test.cc"], 1745 linkopts = select({ 1746 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1747 "//conditions:default": [], 1748 }), 1749 deps = [ 1750 ":concatenation_tester", 1751 ":test_main", 1752 ":xnnpack_delegate_test_mode", 1753 "@com_google_googletest//:gtest", 1754 ], 1755) 1756 1757cc_test( 1758 name = "unsigned_quantized_conv_2d_test", 1759 srcs = ["unsigned_quantized_conv_2d_test.cc"], 1760 linkopts = select({ 1761 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1762 "//conditions:default": [], 1763 }), 1764 deps = [ 1765 ":quantized_conv_2d_tester", 1766 ":test_main", 1767 ":xnnpack_delegate_test_mode", 1768 "@com_google_googletest//:gtest", 1769 ], 1770) 1771 1772cc_test( 1773 name = "unsigned_quantized_depthwise_conv_2d_test", 1774 srcs = ["unsigned_quantized_depthwise_conv_2d_test.cc"], 1775 linkopts = select({ 1776 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1777 "//conditions:default": [], 1778 }), 1779 deps = [ 1780 ":quantized_depthwise_conv_2d_tester", 1781 ":test_main", 1782 ":xnnpack_delegate_test_mode", 1783 "@com_google_googletest//:gtest", 1784 ], 1785) 1786 1787cc_test( 1788 name = "unsigned_quantized_depth_to_space_test", 1789 srcs = ["unsigned_quantized_depth_to_space_test.cc"], 1790 linkopts = select({ 1791 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1792 "//conditions:default": [], 1793 }), 1794 deps = [ 1795 ":depth_to_space_tester", 1796 ":test_main", 1797 ":xnnpack_delegate_test_mode", 1798 "@com_google_googletest//:gtest", 1799 ], 1800) 1801 1802cc_test( 1803 name = "unsigned_quantized_fully_connected_test", 1804 srcs = ["unsigned_quantized_fully_connected_test.cc"], 1805 linkopts = select({ 1806 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1807 "//conditions:default": [], 1808 }), 1809 deps = [ 1810 ":quantized_fully_connected_tester", 1811 ":test_main", 1812 ":xnnpack_delegate_test_mode", 1813 "@com_google_googletest//:gtest", 1814 ], 1815) 1816 1817cc_test( 1818 name = "unsigned_quantized_leaky_relu_test", 1819 srcs = ["unsigned_quantized_leaky_relu_test.cc"], 1820 linkopts = select({ 1821 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1822 "//conditions:default": [], 1823 }), 1824 deps = [ 1825 ":quantized_leaky_relu_tester", 1826 ":test_main", 1827 ":xnnpack_delegate_test_mode", 1828 "@com_google_googletest//:gtest", 1829 ], 1830) 1831 1832cc_test( 1833 name = "unsigned_quantized_logistic_test", 1834 srcs = ["unsigned_quantized_logistic_test.cc"], 1835 linkopts = select({ 1836 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1837 "//conditions:default": [], 1838 }), 1839 deps = [ 1840 ":quantized_unary_elementwise_tester", 1841 ":test_main", 1842 ":xnnpack_delegate_test_mode", 1843 "@com_google_googletest//:gtest", 1844 ], 1845) 1846 1847cc_test( 1848 name = "unsigned_quantized_max_pool_2d_test", 1849 srcs = ["unsigned_quantized_max_pool_2d_test.cc"], 1850 linkopts = select({ 1851 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1852 "//conditions:default": [], 1853 }), 1854 deps = [ 1855 ":quantized_pool_2d_tester", 1856 ":test_main", 1857 ":xnnpack_delegate_test_mode", 1858 "@com_google_googletest//:gtest", 1859 ], 1860) 1861 1862cc_test( 1863 name = "unsigned_quantized_mean_test", 1864 srcs = ["unsigned_quantized_mean_test.cc"], 1865 linkopts = select({ 1866 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1867 "//conditions:default": [], 1868 }), 1869 deps = [ 1870 ":quantized_reduce_tester", 1871 ":test_main", 1872 ":xnnpack_delegate_test_mode", 1873 "@com_google_googletest//:gtest", 1874 ], 1875) 1876 1877cc_test( 1878 name = "unsigned_quantized_mul_test", 1879 srcs = ["unsigned_quantized_mul_test.cc"], 1880 linkopts = select({ 1881 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1882 "//conditions:default": [], 1883 }), 1884 deps = [ 1885 ":quantized_binary_elementwise_tester", 1886 ":test_main", 1887 ":xnnpack_delegate_test_mode", 1888 "@com_google_googletest//:gtest", 1889 ], 1890) 1891 1892cc_test( 1893 name = "unsigned_quantized_pad_test", 1894 srcs = ["unsigned_quantized_pad_test.cc"], 1895 linkopts = select({ 1896 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1897 "//conditions:default": [], 1898 }), 1899 deps = [ 1900 ":quantized_pad_tester", 1901 ":test_main", 1902 ":xnnpack_delegate_test_mode", 1903 "@com_google_googletest//:gtest", 1904 ], 1905) 1906 1907cc_test( 1908 name = "unsigned_quantized_resize_bilinear_test", 1909 srcs = ["unsigned_quantized_resize_bilinear_test.cc"], 1910 linkopts = select({ 1911 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1912 "//conditions:default": [], 1913 }), 1914 deps = [ 1915 ":quantized_resize_bilinear_tester", 1916 ":test_main", 1917 ":xnnpack_delegate_test_mode", 1918 "@com_google_googletest//:gtest", 1919 ], 1920) 1921 1922cc_test( 1923 name = "unsigned_quantized_split_test", 1924 srcs = ["unsigned_quantized_split_test.cc"], 1925 linkopts = select({ 1926 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1927 "//conditions:default": [], 1928 }), 1929 deps = [ 1930 ":split_tester", 1931 ":test_main", 1932 ":xnnpack_delegate_test_mode", 1933 "@com_google_googletest//:gtest", 1934 ], 1935) 1936 1937cc_test( 1938 name = "unsigned_quantized_sub_test", 1939 srcs = ["unsigned_quantized_sub_test.cc"], 1940 linkopts = select({ 1941 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1942 "//conditions:default": [], 1943 }), 1944 deps = [ 1945 ":quantized_binary_elementwise_tester", 1946 ":test_main", 1947 ":xnnpack_delegate_test_mode", 1948 "@com_google_googletest//:gtest", 1949 ], 1950) 1951 1952cc_test( 1953 name = "unsigned_quantized_transpose_test", 1954 srcs = ["unsigned_quantized_transpose_test.cc"], 1955 linkopts = select({ 1956 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1957 "//conditions:default": [], 1958 }), 1959 deps = [ 1960 ":test_main", 1961 ":transpose_tester", 1962 ":xnnpack_delegate_test_mode", 1963 "@com_google_googletest//:gtest", 1964 ], 1965) 1966 1967cc_test( 1968 name = "unsigned_quantized_transpose_conv_test", 1969 srcs = ["unsigned_quantized_transpose_conv_test.cc"], 1970 linkopts = select({ 1971 "//tensorflow:emscripten": EMSCRIPTEN_LINKOPTS, 1972 "//conditions:default": [], 1973 }), 1974 deps = [ 1975 ":quantized_transpose_conv_tester", 1976 ":test_main", 1977 ":xnnpack_delegate_test_mode", 1978 "@com_google_googletest//:gtest", 1979 ], 1980) 1981 1982cc_test( 1983 name = "weights_cache_test", 1984 srcs = ["weights_cache_test.cc"], 1985 deps = [ 1986 ":conv_2d_tester", 1987 ":test_main", 1988 ":xnnpack_delegate_test_mode", 1989 "//tensorflow/lite:framework", 1990 "//tensorflow/lite/kernels:builtin_ops", 1991 "@com_google_googletest//:gtest", 1992 ], 1993) 1994 1995tflite_portable_test_suite_combined(combine_conditions = {"deps": [":test_main"]}) 1996