diff --git a/README.md b/README.md index afbf7c317..5c2cf7dda 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,8 @@ This repository contains extra data for the OpenCV library. #### Resources * Homepage: http://opencv.org * Docs: http://docs.opencv.org -* Q&A forum: http://answers.opencv.org +* Q&A forum: https://forum.opencv.org + * previous forum (read only): http://answers.opencv.org * Issue tracking: https://github.com/opencv/opencv/issues #### Contributing diff --git a/testdata/cv/aruco/trivial_board_detection.png b/testdata/cv/aruco/trivial_board_detection.png new file mode 100644 index 000000000..8fee7bb43 Binary files /dev/null and b/testdata/cv/aruco/trivial_board_detection.png differ diff --git a/testdata/cv/dnn_face/README.md b/testdata/cv/dnn_face/README.md new file mode 100644 index 000000000..f2cf9b327 --- /dev/null +++ b/testdata/cv/dnn_face/README.md @@ -0,0 +1,26 @@ +# Test data for deep learning-based face detection and face recognition + +This directory contains images and labels for the unit tests of deep learning-based face detection and face recognition. + +## Data in `./detection` + +- `cascades_labels.txt`: contains the ground truth generated by [libfacedetection](https://github.com/ShiqiYu/libfacedetection) from the images under `../cascadeandhog/images`. The format is as follows: + - image_name_1 + - number_of_faces_in_image_1 + - face_1_in_image_1: `x, y, w, h, x0, y0, x1, y1, x2, y2, x3, y3, x4, y4` + - face_2_in_image_1: ... + - ... + - image_name_2 + - number_of_faces_in_image_2 + - face_1_in_image_2: ... + - ... + + where `x, y, w, h` stands for the top-left coordinates and the width and height of the bounding box, `x0, y0` stands for the coordinates of the pupile of the right eye, `x1, y1` stands for the left eye, `x2, y2` stands for the coordinates of the nose tip, `x3, y3` and `x4, y4` stands for the coordinates of right and left corner of the mouth. + +## Data in `./recognition` + +- `*.jpg`: these images can be found on [LFW dataset](http://vis-www.cs.umass.edu/lfw/). +- `cascades_label.txt`: contains two pairs (same and different identities) for the recognition unit test. The format is as follows: + - image_name_1 image_name_2 label + + where `label` is either 0 or 1, and `0` means same identity, `1` means different identities. \ No newline at end of file diff --git a/testdata/cv/dnn_face/detection/cascades_labels.txt b/testdata/cv/dnn_face/detection/cascades_labels.txt new file mode 100644 index 000000000..c687037af --- /dev/null +++ b/testdata/cv/dnn_face/detection/cascades_labels.txt @@ -0,0 +1,127 @@ +addams-family.png +7 +327 166 48 66 341 193 363 192 352 204 343 216 362 215 +136 393 57 70 154 421 178 421 167 434 155 445 174 446 +74 501 45 54 92 521 111 523 104 533 92 541 107 543 +426 138 55 69 436 164 455 166 439 179 438 191 452 192 +736 541 51 69 747 568 771 568 758 582 750 593 769 593 +713 77 58 73 728 106 750 105 738 121 733 134 751 132 +654 383 56 62 675 405 695 405 685 417 675 429 691 429 +audrybt1.png +1 +129 36 42 48 141 54 159 54 151 64 144 71 158 71 +bttf301.png +6 +510 121 47 56 520 140 541 139 529 150 523 160 541 159 +59 19 58 68 77 45 101 45 89 57 77 68 98 68 +136 86 46 61 148 110 168 111 157 122 148 131 165 132 +452 66 46 57 470 88 489 89 483 101 471 108 486 109 +211 98 47 54 224 119 245 119 235 130 226 138 244 139 +329 38 46 64 340 62 361 62 348 74 341 85 359 85 +churchill-downs.png +0 +class57.png +57 +151 228 31 41 158 246 172 244 164 251 161 258 173 258 +346 181 31 39 355 196 369 196 362 204 356 210 368 210 +967 486 44 53 978 504 997 504 986 513 980 524 996 523 +811 497 43 52 823 517 841 516 833 527 826 535 841 534 +667 491 45 53 680 509 699 509 690 519 682 529 698 528 +1128 507 44 52 1141 525 1160 526 1150 535 1143 544 1158 544 +1007 422 43 48 1018 440 1035 440 1026 449 1019 457 1034 457 +534 214 31 38 543 226 557 226 551 233 544 240 556 240 +479 480 45 53 491 500 510 500 501 509 493 518 509 517 +198 187 31 36 206 200 219 200 212 208 207 213 218 213 +789 382 41 47 802 399 818 398 811 406 804 415 818 415 +1088 356 42 46 1100 373 1117 374 1108 382 1101 390 1115 390 +481 344 42 46 492 361 510 361 501 369 494 377 509 377 +476 163 31 38 484 177 498 176 490 184 486 191 498 190 +948 309 32 40 957 323 972 323 964 330 958 338 971 338 +111 352 41 45 124 370 141 369 133 378 126 385 140 385 +345 292 33 41 354 306 370 308 361 315 354 322 367 323 +97 500 42 49 110 519 128 519 120 527 112 535 127 535 +836 348 41 47 848 366 865 365 857 374 851 382 865 381 +843 413 40 48 856 430 871 430 863 438 856 447 869 447 +707 168 31 38 715 181 729 181 722 188 716 195 728 195 +605 406 42 47 618 423 635 425 625 433 617 439 631 440 +794 274 33 42 800 289 816 288 807 296 803 304 816 303 +825 184 32 39 833 198 847 197 840 204 834 212 846 212 +877 184 29 34 886 198 899 197 894 203 889 210 899 209 +576 321 42 47 587 339 603 340 594 349 588 355 602 355 +1043 210 32 39 1052 223 1067 224 1060 232 1053 238 1066 239 +356 360 33 45 363 375 378 376 369 384 364 392 378 392 +999 189 31 39 1007 203 1021 203 1013 211 1008 217 1020 217 +942 215 31 38 950 231 963 228 957 236 953 243 964 242 +452 290 31 40 461 304 475 304 467 312 462 319 474 319 +219 408 43 51 234 425 251 427 242 435 233 444 248 445 +1110 273 32 42 1119 288 1134 289 1127 297 1120 304 1133 304 +630 223 31 38 638 238 653 237 646 245 639 251 652 252 +1166 416 43 47 1175 433 1192 431 1182 440 1178 449 1192 448 +287 490 45 55 298 509 316 510 305 519 299 528 314 529 +743 421 33 44 752 437 768 437 759 445 753 453 766 453 +1056 319 40 43 1068 336 1084 335 1077 342 1071 351 1084 350 +379 227 32 37 388 240 401 240 395 247 390 254 401 253 +341 430 41 45 353 447 370 447 362 456 355 463 369 463 +246 359 33 40 256 371 272 373 264 380 256 388 269 388 +975 255 40 46 990 273 1005 273 998 281 990 289 1002 289 +830 255 26 33 836 267 848 268 842 274 837 279 847 280 +733 238 32 41 740 255 755 253 748 261 743 269 755 268 +597 172 31 40 605 187 619 187 613 195 607 202 618 201 +479 246 32 38 488 258 502 259 495 266 489 273 501 273 +706 301 41 47 718 318 734 318 727 326 720 335 734 334 +280 298 34 45 290 315 307 315 299 323 291 331 305 331 +881 245 32 41 887 260 901 259 892 267 889 274 901 274 +648 272 30 39 659 286 672 287 665 294 659 301 670 301 +672 378 41 44 684 395 700 395 693 403 686 410 700 410 +185 262 41 43 200 276 215 277 208 284 200 292 213 293 +963 375 41 44 976 392 993 393 984 402 977 408 990 409 +417 352 32 39 426 364 440 365 432 373 426 380 439 380 +161 300 41 41 175 314 191 316 181 322 173 328 186 330 +272 212 32 40 281 225 296 225 290 232 282 241 295 241 +573 255 39 40 584 270 598 270 590 278 585 285 597 285 +er.png +6 +406 86 33 45 409 104 421 103 412 112 412 120 423 119 +339 36 31 40 344 52 357 51 348 59 346 65 356 65 +118 47 31 42 128 64 143 64 136 72 130 79 143 79 +259 230 30 39 268 245 281 244 277 251 270 258 281 258 +141 256 32 42 150 273 165 272 159 281 153 288 165 287 +68 127 31 38 78 140 92 140 86 147 80 155 91 154 +image_00000000_0.png +1 +317 160 14 16 321 166 327 167 324 169 322 172 326 172 +karen-and-rob.png +2 +191 30 47 61 206 54 227 55 217 66 206 75 225 76 +85 191 46 57 96 216 116 213 108 226 102 235 119 232 +larroquette.png +9 +99 215 30 36 109 228 122 228 117 235 110 242 121 242 +331 148 30 35 340 161 352 161 345 168 341 174 351 174 +134 148 25 34 140 161 152 160 146 167 142 173 152 172 +218 91 29 34 227 104 239 104 233 110 228 116 238 116 +261 139 30 36 268 153 281 153 275 161 270 166 280 166 +107 99 29 34 117 110 130 111 124 117 118 123 128 123 +377 109 31 37 383 126 396 123 390 131 387 138 398 136 +71 112 30 33 81 125 94 124 88 131 82 137 92 137 +180 127 25 35 187 140 200 141 193 147 187 153 197 153 +mickymouse-self-p.png +2 +529 262 125 167 557 333 615 330 585 366 566 392 614 390 +190 450 102 107 227 484 264 476 255 491 241 525 270 518 +mona-lisa.png +1 +185 107 127 160 208 181 264 179 229 212 215 237 261 235 +rehg-thanksgiving-1994.png +7 +350 84 28 33 359 96 370 96 365 103 360 109 369 108 +410 90 31 38 416 104 430 103 421 110 418 118 429 118 +290 69 30 36 299 80 311 81 306 88 299 95 310 95 +116 83 32 43 126 99 141 99 135 107 127 115 139 115 +218 78 24 34 225 91 237 90 232 97 227 103 238 103 +294 118 30 34 303 130 316 130 309 137 304 144 314 144 +155 155 40 40 170 169 186 170 179 177 171 184 184 184 +waynesworld2.png +2 +119 81 56 61 137 100 160 101 147 110 136 125 156 125 +249 50 54 60 264 74 286 74 274 87 266 96 285 96 \ No newline at end of file diff --git a/testdata/cv/dnn_face/recognition/Aaron_Tippin_0001.jpg b/testdata/cv/dnn_face/recognition/Aaron_Tippin_0001.jpg new file mode 100644 index 000000000..2832f6a70 Binary files /dev/null and b/testdata/cv/dnn_face/recognition/Aaron_Tippin_0001.jpg differ diff --git a/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0028.jpg b/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0028.jpg new file mode 100644 index 000000000..320c134d0 Binary files /dev/null and b/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0028.jpg differ diff --git a/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0029.jpg b/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0029.jpg new file mode 100644 index 000000000..eb25c2ad7 Binary files /dev/null and b/testdata/cv/dnn_face/recognition/Alvaro_Uribe_0029.jpg differ diff --git a/testdata/cv/dnn_face/recognition/Jose_Luis_Rodriguez_Zapatero_0001.jpg b/testdata/cv/dnn_face/recognition/Jose_Luis_Rodriguez_Zapatero_0001.jpg new file mode 100644 index 000000000..affae9c35 Binary files /dev/null and b/testdata/cv/dnn_face/recognition/Jose_Luis_Rodriguez_Zapatero_0001.jpg differ diff --git a/testdata/cv/dnn_face/recognition/cascades_label.txt b/testdata/cv/dnn_face/recognition/cascades_label.txt new file mode 100644 index 000000000..f0a132048 --- /dev/null +++ b/testdata/cv/dnn_face/recognition/cascades_label.txt @@ -0,0 +1,2 @@ +Alvaro_Uribe_0028.jpg Alvaro_Uribe_0029.jpg 1 +Aaron_Tippin_0001.jpg Jose_Luis_Rodriguez_Zapatero_0001.jpg 0 diff --git a/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_JSON.json b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_JSON.json new file mode 100644 index 000000000..d445f6785 --- /dev/null +++ b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_JSON.json @@ -0,0 +1,29 @@ +{ + "normal_2d_mat": { + "type_id": "opencv-matrix", + "rows": 10, + "cols": 20, + "dt": "3u", + "data": "$base64$M3UgICAgICAgICAgICAgICAgICAgICAgAQB/AQF/AQJ/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/AQF/AQJ/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/AQJ/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/ARx/" + }, + "normal_nd_mat": { + "type_id": "opencv-nd-matrix", + "sizes": "$base64$aSAgICAgICAgICAgICAgICAgICAgICAgAgAAAAIAAAABAAAAAgAAAA==", + "dt": "4d", + "data": "$base64$NGQgICAgICAgICAgICAgICAgICAgICAg0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcPw==" + }, + "empty_2d_mat": { + "type_id": "opencv-matrix", + "rows": 0, + "cols": 0, + "dt": "u", + "data": [] + }, + "random_mat": { + "type_id": "opencv-matrix", + "rows": 8, + "cols": 16, + "dt": "d", + "data": "$base64$MWQgICAgICAgICAgICAgICAgICAgICAgfwEAcyOC5D8wXwTRWhniPyoSRI0e1dE/zFLwU7v42z/PJzrYwBfUP6QPykt9Q78/0HCaMombuT8tPaWjIPjcP+B97Ci5KL8/3EpzlPKQ5j9Y8DJWszqyP6K5UaHz1+E/SE0OJBN6sD9Bg9FMnsrvP2Sgnp28ENM/bsLYppV96j9AiEX5UWCSP4US8M0ySO0/2Aln6fWhsT89TmPFY3PdP4DL3WcVeOY/vBeZ29QuxT+dplSPW9DjP5Vlx4it5tg/PLbc9vmtsD9cTIwuIba+P+95Jq8cJNo/YWF47boL2j/eJLwXl0HuPySmWwaQ5tM/GypZhvfx5T/Bh8tU4cDeP5Bp81RTPrA/GOCLak2+sT9wVI0CHFWyP9a8UelJX+A/nHGByrLGxT+6LVMxaC7OPxLV1szv1eM/zuAOyXc/yT8sF602bUqyP4q7kQ+qkOs/CNwsx7Xawz8pVNSDBeviPzSjFuWZhLA/HhJGNeJXzT8gQi3xOYPVP2Dkc1qWGd4/Kjg8Z+Y+1D/wVPl//4/qP3T4KEX47cA/JPWcs6uDtD8VAaSwRKPfP7DX9sUVhr0/HRgTQld/5T/IpSqoWnCwPxSC8VAJLuo/Ht8JNNfP6D8OF9GlRAXQP/6QrssVotE/qBC4aQU05z8u/GaaFi/mP5j8l/OLOc4/FF9bhblHzD8WX9aYcKnsP0hHTHzNH+s/QCYrHW1Azj9w2Ta67n/tP0cXraad+OU/U8plWz/G5D94QsnShQvZP6Wou0C5qeg/kGYoLD/V5j9GoIau+ATvP4mQDqP47uc/eLHHT0gq4D8QIAWMQ+ydPzHYYILd3tw/yDfY0bYfoj8qnbC/deXkPwF/Sdd7itY/qeO0BdXE2D9ehtvuzaflP4D9Xml9P44/Svlvcz7e5j8AqabN+DLqP+D5eGowJ44/2PGf6Y++0z9sLfJxQ4HVPzzx+YKlpug/lWNIKXCq5j/DduYOqpLkPzZvhGJInu4/9Cwu9KHZ6D8GlUikkGLqPw4SagrxyeQ/IJqUoH1Dlz/fcGChHhPYP2hgtrIst9U/YAu6RVff6D8eNZFZK07dP3S5PfB1Bug/+EE+1l1utT/9HBJ+rFDlP/BOCpDo9Nk/mzP4pbU/3z+wqh5bBt3sP9iUx9QRcqI/nohCraEGyD8OV9VI9TjpP3bxaCsFU+8/ONwOBhDc5z9EPg80VULSP1peOLxZSuI/mDjC4HtF5D9fJMQkmSbiP5C9QjgOWp0/qp5Bhzlxzz9UI3dUx2DtP0TkszN7EcM/wEYocT9y1T/16ZnndgrhP5QJBK2AGs0/LpI2myBa6j/gCcr7UeDlPyCWLdl2rbs/pr2lqmuu0z/iDhn2JJPkPw==" + }, + "rawdata": "$base64$MnUzaTJkaSAgICAgICAgICAgICAgICAgAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/AAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwEAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8CAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/AwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwQAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8FAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/BgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwcAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8IAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/CQAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwoAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8LAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPw0AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8OAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxAAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8RAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/EgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxMAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8UAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/FQAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxYAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8XAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/GAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxkAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8aAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/GwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxwAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8dAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/HgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPx8AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8gAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/IQAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPyIAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8jAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPyUAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8mAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JwAAAA=="} diff --git a/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_XML.xml b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_XML.xml new file mode 100644 index 000000000..a64265a28 --- /dev/null +++ b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_XML.xml @@ -0,0 +1,99 @@ + + + + 10 + 20 +
"3u"
+ + M3UgICAgICAgICAgICAgICAgICAgICAgAQB/AQF/AQJ/AQN/AQR/AQV/AQZ/AQd/ + AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/AQF/AQJ/AQN/AQR/ + AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ + AQJ/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ + ARJ/ARN/ARR/ARV/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/ + AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/ + AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/AQV/AQZ/AQd/AQh/ + AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ + AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ + ARZ/ARd/ARh/ARl/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ + ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ + ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/AQl/AQp/AQt/AQx/ + AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/ARx/ +
+ + + aSAgICAgICAgICAgICAgICAgICAgICAgAgAAAAIAAAABAAAAAgAAAA== + +
"4d"
+ + NGQgICAgICAgICAgICAgICAgICAgICAg0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/ + 0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/ + 0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcPw== +
+ + 0 + 0 +
u
+
+ + 8 + 16 +
d
+ + MWQgICAgICAgICAgICAgICAgICAgICAgfwEAcyOC5D8wXwTRWhniPyoSRI0e1dE/ + zFLwU7v42z/PJzrYwBfUP6QPykt9Q78/0HCaMombuT8tPaWjIPjcP+B97Ci5KL8/ + 3EpzlPKQ5j9Y8DJWszqyP6K5UaHz1+E/SE0OJBN6sD9Bg9FMnsrvP2Sgnp28ENM/ + bsLYppV96j9AiEX5UWCSP4US8M0ySO0/2Aln6fWhsT89TmPFY3PdP4DL3WcVeOY/ + vBeZ29QuxT+dplSPW9DjP5Vlx4it5tg/PLbc9vmtsD9cTIwuIba+P+95Jq8cJNo/ + YWF47boL2j/eJLwXl0HuPySmWwaQ5tM/GypZhvfx5T/Bh8tU4cDeP5Bp81RTPrA/ + GOCLak2+sT9wVI0CHFWyP9a8UelJX+A/nHGByrLGxT+6LVMxaC7OPxLV1szv1eM/ + zuAOyXc/yT8sF602bUqyP4q7kQ+qkOs/CNwsx7Xawz8pVNSDBeviPzSjFuWZhLA/ + HhJGNeJXzT8gQi3xOYPVP2Dkc1qWGd4/Kjg8Z+Y+1D/wVPl//4/qP3T4KEX47cA/ + JPWcs6uDtD8VAaSwRKPfP7DX9sUVhr0/HRgTQld/5T/IpSqoWnCwPxSC8VAJLuo/ + Ht8JNNfP6D8OF9GlRAXQP/6QrssVotE/qBC4aQU05z8u/GaaFi/mP5j8l/OLOc4/ + FF9bhblHzD8WX9aYcKnsP0hHTHzNH+s/QCYrHW1Azj9w2Ta67n/tP0cXraad+OU/ + U8plWz/G5D94QsnShQvZP6Wou0C5qeg/kGYoLD/V5j9GoIau+ATvP4mQDqP47uc/ + eLHHT0gq4D8QIAWMQ+ydPzHYYILd3tw/yDfY0bYfoj8qnbC/deXkPwF/Sdd7itY/ + qeO0BdXE2D9ehtvuzaflP4D9Xml9P44/Svlvcz7e5j8AqabN+DLqP+D5eGowJ44/ + 2PGf6Y++0z9sLfJxQ4HVPzzx+YKlpug/lWNIKXCq5j/DduYOqpLkPzZvhGJInu4/ + 9Cwu9KHZ6D8GlUikkGLqPw4SagrxyeQ/IJqUoH1Dlz/fcGChHhPYP2hgtrIst9U/ + YAu6RVff6D8eNZFZK07dP3S5PfB1Bug/+EE+1l1utT/9HBJ+rFDlP/BOCpDo9Nk/ + mzP4pbU/3z+wqh5bBt3sP9iUx9QRcqI/nohCraEGyD8OV9VI9TjpP3bxaCsFU+8/ + ONwOBhDc5z9EPg80VULSP1peOLxZSuI/mDjC4HtF5D9fJMQkmSbiP5C9QjgOWp0/ + qp5Bhzlxzz9UI3dUx2DtP0TkszN7EcM/wEYocT9y1T/16ZnndgrhP5QJBK2AGs0/ + LpI2myBa6j/gCcr7UeDlPyCWLdl2rbs/pr2lqmuu0z/iDhn2JJPkPw== +
+ + MnUzaTJkaSAgICAgICAgICAgICAgICAgAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZ + mZmZmck/AAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwEAAAABAgEA + AAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8CAAAAAQIBAAAAAgAAAAMAAACamZmZ + mZm5P5qZmZmZmck/AwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwQA + AAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8FAAAAAQIBAAAAAgAAAAMA + AACamZmZmZm5P5qZmZmZmck/BgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZ + mZnJPwcAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8IAAAAAQIBAAAA + AgAAAAMAAACamZmZmZm5P5qZmZmZmck/CQAAAAECAQAAAAIAAAADAAAAmpmZmZmZ + uT+amZmZmZnJPwoAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8LAAAA + AQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DAAAAAECAQAAAAIAAAADAAAA + mpmZmZmZuT+amZmZmZnJPw0AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZ + yT8OAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DwAAAAECAQAAAAIA + AAADAAAAmpmZmZmZuT+amZmZmZnJPxAAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/ + mpmZmZmZyT8RAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/EgAAAAEC + AQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxMAAAABAgEAAAACAAAAAwAAAJqZ + mZmZmbk/mpmZmZmZyT8UAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/ + FQAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxYAAAABAgEAAAACAAAA + AwAAAJqZmZmZmbk/mpmZmZmZyT8XAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZ + mZmZmck/GAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxkAAAABAgEA + AAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8aAAAAAQIBAAAAAgAAAAMAAACamZmZ + mZm5P5qZmZmZmck/GwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxwA + AAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8dAAAAAQIBAAAAAgAAAAMA + AACamZmZmZm5P5qZmZmZmck/HgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZ + mZnJPx8AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8gAAAAAQIBAAAA + AgAAAAMAAACamZmZmZm5P5qZmZmZmck/IQAAAAECAQAAAAIAAAADAAAAmpmZmZmZ + uT+amZmZmZnJPyIAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8jAAAA + AQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JAAAAAECAQAAAAIAAAADAAAA + mpmZmZmZuT+amZmZmZnJPyUAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZ + yT8mAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JwAAAA== + +
diff --git a/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_YAML.yml b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_YAML.yml new file mode 100644 index 000000000..462b44d10 --- /dev/null +++ b/testdata/cv/io/3_4/Core_InputOutput--filestorage_base64_basic_rw_YAML.yml @@ -0,0 +1,93 @@ +%YAML:1.0 +--- +normal_2d_mat: !!opencv-matrix + rows: 10 + cols: 20 + dt: "3u" + data: !!binary | + M3UgICAgICAgICAgICAgICAgICAgICAgAQB/AQF/AQJ/AQN/AQR/AQV/AQZ/AQd/ + AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/AQF/AQJ/AQN/AQR/ + AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ + AQJ/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ + ARJ/ARN/ARR/ARV/AQN/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/ + AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/AQR/AQV/AQZ/AQd/AQh/AQl/AQp/AQt/ + AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/AQV/AQZ/AQd/AQh/ + AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ + AQZ/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ + ARZ/ARd/ARh/ARl/AQd/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ARB/ARF/ARJ/ + ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/AQh/AQl/AQp/AQt/AQx/AQ1/AQ5/AQ9/ + ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/AQl/AQp/AQt/AQx/ + AQ1/AQ5/AQ9/ARB/ARF/ARJ/ARN/ARR/ARV/ARZ/ARd/ARh/ARl/ARp/ARt/ARx/ +normal_nd_mat: !!opencv-nd-matrix + sizes: !!binary | + aSAgICAgICAgICAgICAgICAgICAgICAgAgAAAAIAAAABAAAAAgAAAA== + dt: "4d" + data: !!binary | + NGQgICAgICAgICAgICAgICAgICAgICAg0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/ + 0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcP9Ei2/l+auw/ + 0SLb+X5qvD8dWmQ730/lP9Ei2/l+atw/0SLb+X5q7D/RItv5fmq8Px1aZDvfT+U/ + 0SLb+X5q3D/RItv5fmrsP9Ei2/l+arw/HVpkO99P5T/RItv5fmrcPw== +empty_2d_mat: !!opencv-matrix + rows: 0 + cols: 0 + dt: u + data: [] +random_mat: !!opencv-matrix + rows: 8 + cols: 16 + dt: d + data: !!binary | + MWQgICAgICAgICAgICAgICAgICAgICAgfwEAcyOC5D8wXwTRWhniPyoSRI0e1dE/ + zFLwU7v42z/PJzrYwBfUP6QPykt9Q78/0HCaMombuT8tPaWjIPjcP+B97Ci5KL8/ + 3EpzlPKQ5j9Y8DJWszqyP6K5UaHz1+E/SE0OJBN6sD9Bg9FMnsrvP2Sgnp28ENM/ + bsLYppV96j9AiEX5UWCSP4US8M0ySO0/2Aln6fWhsT89TmPFY3PdP4DL3WcVeOY/ + vBeZ29QuxT+dplSPW9DjP5Vlx4it5tg/PLbc9vmtsD9cTIwuIba+P+95Jq8cJNo/ + YWF47boL2j/eJLwXl0HuPySmWwaQ5tM/GypZhvfx5T/Bh8tU4cDeP5Bp81RTPrA/ + GOCLak2+sT9wVI0CHFWyP9a8UelJX+A/nHGByrLGxT+6LVMxaC7OPxLV1szv1eM/ + zuAOyXc/yT8sF602bUqyP4q7kQ+qkOs/CNwsx7Xawz8pVNSDBeviPzSjFuWZhLA/ + HhJGNeJXzT8gQi3xOYPVP2Dkc1qWGd4/Kjg8Z+Y+1D/wVPl//4/qP3T4KEX47cA/ + JPWcs6uDtD8VAaSwRKPfP7DX9sUVhr0/HRgTQld/5T/IpSqoWnCwPxSC8VAJLuo/ + Ht8JNNfP6D8OF9GlRAXQP/6QrssVotE/qBC4aQU05z8u/GaaFi/mP5j8l/OLOc4/ + FF9bhblHzD8WX9aYcKnsP0hHTHzNH+s/QCYrHW1Azj9w2Ta67n/tP0cXraad+OU/ + U8plWz/G5D94QsnShQvZP6Wou0C5qeg/kGYoLD/V5j9GoIau+ATvP4mQDqP47uc/ + eLHHT0gq4D8QIAWMQ+ydPzHYYILd3tw/yDfY0bYfoj8qnbC/deXkPwF/Sdd7itY/ + qeO0BdXE2D9ehtvuzaflP4D9Xml9P44/Svlvcz7e5j8AqabN+DLqP+D5eGowJ44/ + 2PGf6Y++0z9sLfJxQ4HVPzzx+YKlpug/lWNIKXCq5j/DduYOqpLkPzZvhGJInu4/ + 9Cwu9KHZ6D8GlUikkGLqPw4SagrxyeQ/IJqUoH1Dlz/fcGChHhPYP2hgtrIst9U/ + YAu6RVff6D8eNZFZK07dP3S5PfB1Bug/+EE+1l1utT/9HBJ+rFDlP/BOCpDo9Nk/ + mzP4pbU/3z+wqh5bBt3sP9iUx9QRcqI/nohCraEGyD8OV9VI9TjpP3bxaCsFU+8/ + ONwOBhDc5z9EPg80VULSP1peOLxZSuI/mDjC4HtF5D9fJMQkmSbiP5C9QjgOWp0/ + qp5Bhzlxzz9UI3dUx2DtP0TkszN7EcM/wEYocT9y1T/16ZnndgrhP5QJBK2AGs0/ + LpI2myBa6j/gCcr7UeDlPyCWLdl2rbs/pr2lqmuu0z/iDhn2JJPkPw== +rawdata: !!binary | + MnUzaTJkaSAgICAgICAgICAgICAgICAgAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZ + mZmZmck/AAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwEAAAABAgEA + AAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8CAAAAAQIBAAAAAgAAAAMAAACamZmZ + mZm5P5qZmZmZmck/AwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPwQA + AAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8FAAAAAQIBAAAAAgAAAAMA + AACamZmZmZm5P5qZmZmZmck/BgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZ + mZnJPwcAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8IAAAAAQIBAAAA + AgAAAAMAAACamZmZmZm5P5qZmZmZmck/CQAAAAECAQAAAAIAAAADAAAAmpmZmZmZ + uT+amZmZmZnJPwoAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8LAAAA + AQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DAAAAAECAQAAAAIAAAADAAAA + mpmZmZmZuT+amZmZmZnJPw0AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZ + yT8OAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/DwAAAAECAQAAAAIA + AAADAAAAmpmZmZmZuT+amZmZmZnJPxAAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/ + mpmZmZmZyT8RAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/EgAAAAEC + AQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxMAAAABAgEAAAACAAAAAwAAAJqZ + mZmZmbk/mpmZmZmZyT8UAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/ + FQAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxYAAAABAgEAAAACAAAA + AwAAAJqZmZmZmbk/mpmZmZmZyT8XAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZ + mZmZmck/GAAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxkAAAABAgEA + AAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8aAAAAAQIBAAAAAgAAAAMAAACamZmZ + mZm5P5qZmZmZmck/GwAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZmZnJPxwA + AAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8dAAAAAQIBAAAAAgAAAAMA + AACamZmZmZm5P5qZmZmZmck/HgAAAAECAQAAAAIAAAADAAAAmpmZmZmZuT+amZmZ + mZnJPx8AAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8gAAAAAQIBAAAA + AgAAAAMAAACamZmZmZm5P5qZmZmZmck/IQAAAAECAQAAAAIAAAADAAAAmpmZmZmZ + uT+amZmZmZnJPyIAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZyT8jAAAA + AQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JAAAAAECAQAAAAIAAAADAAAA + mpmZmZmZuT+amZmZmZnJPyUAAAABAgEAAAACAAAAAwAAAJqZmZmZmbk/mpmZmZmZ + yT8mAAAAAQIBAAAAAgAAAAMAAACamZmZmZm5P5qZmZmZmck/JwAAAA== diff --git a/testdata/dnn/download_models.py b/testdata/dnn/download_models.py index 2eac3b150..543487cf0 100755 --- a/testdata/dnn/download_models.py +++ b/testdata/dnn/download_models.py @@ -51,7 +51,8 @@ def verify(self): break sha.update(buf) print(' actual {}'.format(sha.hexdigest())) - return self.sha == sha.hexdigest() + self.sha_actual = sha.hexdigest() + return self.sha == self.sha_actual except Exception as e: print(' catch {}'.format(e)) @@ -82,7 +83,10 @@ def get(self): print(' done') print(' file {}'.format(self.filename)) - return self.verify() + candidate_verify = self.verify() + if not candidate_verify: + self.handle_bad_download() + return candidate_verify def download(self): try: @@ -112,6 +116,27 @@ def save(self, r): print('>', end='') sys.stdout.flush() + def handle_bad_download(self): + if os.path.exists(self.filename): + # rename file for further investigation + try: + # NB: using `self.sha_actual` may create unbounded number of files + rename_target = self.filename + '.invalid' + # TODO: use os.replace (Python 3.3+) + try: + if os.path.exists(rename_target): # avoid FileExistsError on Windows from os.rename() + os.remove(rename_target) + finally: + os.rename(self.filename, rename_target) + print(' renaming invalid file to ' + rename_target) + except: + import traceback + traceback.print_exc() + finally: + if os.path.exists(self.filename): + print(' deleting invalid file') + os.remove(self.filename) + def GDrive(gid): def download_gdrive(dst): @@ -565,6 +590,29 @@ def get_confirm_token(response): # in case of large files member='resnet50v1/test_data_set_0/output_0.pb', sha='40deb324ddba7db4117568e1e3911e7a771fb260', filename='onnx/data/output_resnet50v1.pb'), + Model( + name='ResNet50-Int8 (ONNX)', + url='https://github.com/onnx/models/raw/master/vision/classification/resnet/model/resnet50-v1-12-int8.tar.gz', + sha='2ff2a58f4a27362ee6234915452e86287cdcf269', + filename='resnet50-v1-12-int8.tar.gz'), + Model( + name='ResNet50-Int8 (ONNX)', + archive='resnet50-v1-12-int8.tar.gz', + member='resnet50-v1-12-int8/resnet50-v1-12-int8.onnx', + sha='5fbeac70e1a3af3253c21e0e4008a784aa61929f', + filename='onnx/models/resnet50_int8.onnx'), + Model( + name='ResNet50-Int8 (ONNX)', + archive='resnet50-v1-12-int8.tar.gz', + member='resnet50-v1-12-int8/test_data_set_0/input_0.pb', + sha='0946521c8afcfea9340390298a41fb11496b3556', + filename='onnx/data/input_resnet50_int8.pb'), + Model( + name='ResNet50-Int8 (ONNX)', + archive='resnet50-v1-12-int8.tar.gz', + member='resnet50-v1-12-int8/test_data_set_0/output_0.pb', + sha='6d45d2f06150e9045631c7928093728b07c8b12d', + filename='onnx/data/output_resnet50_int8.pb'), Model( name='ssd_mobilenet_v1_ppn_coco (TensorFlow)', url='http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_ppn_shared_box_predictor_300x300_coco14_sync_2018_07_03.tar.gz', @@ -859,6 +907,11 @@ def get_confirm_token(response): # in case of large files url='https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4-tiny.weights', sha='d110379b7b86899226b591ad4affc7115f707157', filename='yolov4-tiny.weights'), + Model( + name='YOLOv4x-mish', # https://github.com/opencv/opencv/issues/18975 + url='https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v4_pre/yolov4x-mish.weights', + sha='a6f2879af2241de2e9730d317a55db6afd0af00b', + filename='yolov4x-mish.weights'), Model( name='GSOC2016-GOTURN', # https://github.com/opencv/opencv_contrib/issues/941 downloader=GDrive('1j4UTqVE4EGaUFiK7a5I_CYX7twO9c5br'), @@ -889,6 +942,16 @@ def get_confirm_token(response): # in case of large files url='https://drive.google.com/uc?export=dowload&id=19YWhArrNccaoSza0CfkXlA8im4-lAGsR', sha='1b4dd21a6baa5e3523156776970895bd3db6960a', filename='onnx/models/DB_TD500_resnet50.onnx'), + Model( + name='YuNet', + url='https://github.com/ShiqiYu/libfacedetection.train/raw/7a9738d6ca7bc4a3216578b06a739126435d40ef/tasks/task1/onnx/yunet.onnx', + sha='49c52f484b1895e8298dc59e37f262ba7841a601', + filename='onnx/models/yunet-202109.onnx'), + Model( + name='face_recognizer_fast', + url='https://drive.google.com/uc?export=dowload&id=1ClK9WiB492c5OZFKveF3XiHCejoOxINW', + sha='12ff8b1f5c8bff62e8dd91eabdacdfc998be255e', + filename='onnx/models/face_recognizer_fast.onnx'), ] # Note: models will be downloaded to current working directory diff --git a/testdata/dnn/layers/gru.B.npy b/testdata/dnn/layers/gru.B.npy new file mode 100644 index 000000000..aa442683c Binary files /dev/null and b/testdata/dnn/layers/gru.B.npy differ diff --git a/testdata/dnn/layers/gru.R.npy b/testdata/dnn/layers/gru.R.npy new file mode 100644 index 000000000..3321ad025 Binary files /dev/null and b/testdata/dnn/layers/gru.R.npy differ diff --git a/testdata/dnn/layers/gru.W.npy b/testdata/dnn/layers/gru.W.npy new file mode 100644 index 000000000..6d3cc3090 Binary files /dev/null and b/testdata/dnn/layers/gru.W.npy differ diff --git a/testdata/dnn/layers/gru.h0.npy b/testdata/dnn/layers/gru.h0.npy new file mode 100644 index 000000000..889bdd4ca Binary files /dev/null and b/testdata/dnn/layers/gru.h0.npy differ diff --git a/testdata/dnn/layers/gru.input.npy b/testdata/dnn/layers/gru.input.npy new file mode 100644 index 000000000..4b36d6f6f Binary files /dev/null and b/testdata/dnn/layers/gru.input.npy differ diff --git a/testdata/dnn/layers/gru.output.npy b/testdata/dnn/layers/gru.output.npy new file mode 100644 index 000000000..0bc90b580 Binary files /dev/null and b/testdata/dnn/layers/gru.output.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.B.npy b/testdata/dnn/layers/lstm.hidden.B.npy new file mode 100644 index 000000000..ca178d675 Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.B.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.R.npy b/testdata/dnn/layers/lstm.hidden.R.npy new file mode 100644 index 000000000..b4ff454c1 Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.R.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.W.npy b/testdata/dnn/layers/lstm.hidden.W.npy new file mode 100644 index 000000000..f35a32424 Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.W.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.c0.npy b/testdata/dnn/layers/lstm.hidden.c0.npy new file mode 100644 index 000000000..1f43a8dce Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.c0.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.h0.npy b/testdata/dnn/layers/lstm.hidden.h0.npy new file mode 100644 index 000000000..889bdd4ca Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.h0.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.input.npy b/testdata/dnn/layers/lstm.hidden.input.npy new file mode 100644 index 000000000..4b36d6f6f Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.input.npy differ diff --git a/testdata/dnn/layers/lstm.hidden.output.npy b/testdata/dnn/layers/lstm.hidden.output.npy new file mode 100644 index 000000000..8770791d5 Binary files /dev/null and b/testdata/dnn/layers/lstm.hidden.output.npy differ diff --git a/testdata/dnn/onnx/data/input_PReLU_slope.npy b/testdata/dnn/onnx/data/input_PReLU_slope.npy new file mode 100644 index 000000000..b850fc49b Binary files /dev/null and b/testdata/dnn/onnx/data/input_PReLU_slope.npy differ diff --git a/testdata/dnn/onnx/data/input_concat_const_blobs.npy b/testdata/dnn/onnx/data/input_concat_const_blobs.npy new file mode 100644 index 000000000..988e07f97 Binary files /dev/null and b/testdata/dnn/onnx/data/input_concat_const_blobs.npy differ diff --git a/testdata/dnn/onnx/data/input_conv_asymmetric_pads.npy b/testdata/dnn/onnx/data/input_conv_asymmetric_pads.npy new file mode 100644 index 000000000..9416d545c Binary files /dev/null and b/testdata/dnn/onnx/data/input_conv_asymmetric_pads.npy differ diff --git a/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1.npy b/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1.npy new file mode 100644 index 000000000..5001c1109 Binary files /dev/null and b/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1.npy differ diff --git a/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1_reverse.npy b/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1_reverse.npy new file mode 100644 index 000000000..5001c1109 Binary files /dev/null and b/testdata/dnn/onnx/data/input_cumsum_1d_exclusive_1_reverse.npy differ diff --git a/testdata/dnn/onnx/data/input_cumsum_1d_reverse.npy b/testdata/dnn/onnx/data/input_cumsum_1d_reverse.npy new file mode 100644 index 000000000..5001c1109 Binary files /dev/null and b/testdata/dnn/onnx/data/input_cumsum_1d_reverse.npy differ diff --git a/testdata/dnn/onnx/data/input_cumsum_2d_dim_1.npy b/testdata/dnn/onnx/data/input_cumsum_2d_dim_1.npy new file mode 100644 index 000000000..3dd99de52 Binary files /dev/null and b/testdata/dnn/onnx/data/input_cumsum_2d_dim_1.npy differ diff --git a/testdata/dnn/onnx/data/input_cumsum_3d_dim_2.npy b/testdata/dnn/onnx/data/input_cumsum_3d_dim_2.npy new file mode 100644 index 000000000..58b7ad796 Binary files /dev/null and b/testdata/dnn/onnx/data/input_cumsum_3d_dim_2.npy differ diff --git a/testdata/dnn/onnx/data/input_dynamic_batch.npy b/testdata/dnn/onnx/data/input_dynamic_batch.npy new file mode 100644 index 000000000..6146df46f Binary files /dev/null and b/testdata/dnn/onnx/data/input_dynamic_batch.npy differ diff --git a/testdata/dnn/onnx/data/input_expand.npy b/testdata/dnn/onnx/data/input_expand.npy new file mode 100644 index 000000000..5c2c1c121 Binary files /dev/null and b/testdata/dnn/onnx/data/input_expand.npy differ diff --git a/testdata/dnn/onnx/data/input_expand_identity.npy b/testdata/dnn/onnx/data/input_expand_identity.npy new file mode 100644 index 000000000..b2adf81de Binary files /dev/null and b/testdata/dnn/onnx/data/input_expand_identity.npy differ diff --git a/testdata/dnn/onnx/data/input_gru.npy b/testdata/dnn/onnx/data/input_gru.npy new file mode 100644 index 000000000..d0a66a994 Binary files /dev/null and b/testdata/dnn/onnx/data/input_gru.npy differ diff --git a/testdata/dnn/onnx/data/input_gru_bi.npy b/testdata/dnn/onnx/data/input_gru_bi.npy new file mode 100644 index 000000000..54a762197 Binary files /dev/null and b/testdata/dnn/onnx/data/input_gru_bi.npy differ diff --git a/testdata/dnn/onnx/data/input_hidden_lstm.npy b/testdata/dnn/onnx/data/input_hidden_lstm.npy new file mode 100644 index 000000000..d0a66a994 Binary files /dev/null and b/testdata/dnn/onnx/data/input_hidden_lstm.npy differ diff --git a/testdata/dnn/onnx/data/input_hidden_lstm_bi.npy b/testdata/dnn/onnx/data/input_hidden_lstm_bi.npy new file mode 100644 index 000000000..406844163 Binary files /dev/null and b/testdata/dnn/onnx/data/input_hidden_lstm_bi.npy differ diff --git a/testdata/dnn/onnx/data/input_lstm_cntk_tanh.pb b/testdata/dnn/onnx/data/input_lstm_cntk_tanh.pb new file mode 100644 index 000000000..3523f13bb Binary files /dev/null and b/testdata/dnn/onnx/data/input_lstm_cntk_tanh.pb differ diff --git a/testdata/dnn/onnx/data/input_min_0.npy b/testdata/dnn/onnx/data/input_min_0.npy new file mode 100644 index 000000000..2fcd58621 Binary files /dev/null and b/testdata/dnn/onnx/data/input_min_0.npy differ diff --git a/testdata/dnn/onnx/data/input_min_1.npy b/testdata/dnn/onnx/data/input_min_1.npy new file mode 100644 index 000000000..f0d172b19 Binary files /dev/null and b/testdata/dnn/onnx/data/input_min_1.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_avgpool.npy b/testdata/dnn/onnx/data/input_quantized_avgpool.npy new file mode 100644 index 000000000..771c38879 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_avgpool.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_concat.npy b/testdata/dnn/onnx/data/input_quantized_concat.npy new file mode 100644 index 000000000..306862a46 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_concat.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_concat_const_blob.npy b/testdata/dnn/onnx/data/input_quantized_concat_const_blob.npy new file mode 100644 index 000000000..6801046a7 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_concat_const_blob.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_constant.npy b/testdata/dnn/onnx/data/input_quantized_constant.npy new file mode 100644 index 000000000..ea7157617 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_constant.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_conv_int8_weights.npy b/testdata/dnn/onnx/data/input_quantized_conv_int8_weights.npy new file mode 100644 index 000000000..df711356e Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_conv_int8_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_conv_per_channel_weights.npy b/testdata/dnn/onnx/data/input_quantized_conv_per_channel_weights.npy new file mode 100644 index 000000000..d659c0821 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_conv_per_channel_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_conv_uint8_weights.npy b/testdata/dnn/onnx/data/input_quantized_conv_uint8_weights.npy new file mode 100644 index 000000000..ff2418d7a Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_conv_uint8_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_eltwise.npy b/testdata/dnn/onnx/data/input_quantized_eltwise.npy new file mode 100644 index 000000000..1e29c175b Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_eltwise.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_eltwise_broadcast.npy b/testdata/dnn/onnx/data/input_quantized_eltwise_broadcast.npy new file mode 100644 index 000000000..2bebff940 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_eltwise_broadcast.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_eltwise_scalar.npy b/testdata/dnn/onnx/data/input_quantized_eltwise_scalar.npy new file mode 100644 index 000000000..f1433df15 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_eltwise_scalar.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_leaky_relu.npy b/testdata/dnn/onnx/data/input_quantized_leaky_relu.npy new file mode 100644 index 000000000..d08e6220f Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_leaky_relu.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_matmul_int8_weights.npy b/testdata/dnn/onnx/data/input_quantized_matmul_int8_weights.npy new file mode 100644 index 000000000..604fa66ad Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_matmul_int8_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_matmul_per_channel_weights.npy b/testdata/dnn/onnx/data/input_quantized_matmul_per_channel_weights.npy new file mode 100644 index 000000000..7edb2404f Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_matmul_per_channel_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_matmul_uint8_weights.npy b/testdata/dnn/onnx/data/input_quantized_matmul_uint8_weights.npy new file mode 100644 index 000000000..02157d155 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_matmul_uint8_weights.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_matmul_variable_inputs.npy b/testdata/dnn/onnx/data/input_quantized_matmul_variable_inputs.npy new file mode 100644 index 000000000..c96ecefc7 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_matmul_variable_inputs.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_maxpool.npy b/testdata/dnn/onnx/data/input_quantized_maxpool.npy new file mode 100644 index 000000000..ffa4240a3 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_maxpool.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_padding.npy b/testdata/dnn/onnx/data/input_quantized_padding.npy new file mode 100644 index 000000000..f7d0e81d4 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_padding.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_reshape.npy b/testdata/dnn/onnx/data/input_quantized_reshape.npy new file mode 100644 index 000000000..a04bdbfdc Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_reshape.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_resize_bilinear.npy b/testdata/dnn/onnx/data/input_quantized_resize_bilinear.npy new file mode 100644 index 000000000..2c73a1931 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_resize_bilinear.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_resize_bilinear_align.npy b/testdata/dnn/onnx/data/input_quantized_resize_bilinear_align.npy new file mode 100644 index 000000000..d7d3dac3b Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_resize_bilinear_align.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_resize_nearest.npy b/testdata/dnn/onnx/data/input_quantized_resize_nearest.npy new file mode 100644 index 000000000..eac96b993 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_resize_nearest.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_sigmoid.npy b/testdata/dnn/onnx/data/input_quantized_sigmoid.npy new file mode 100644 index 000000000..0781874bf Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_sigmoid.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_split.npy b/testdata/dnn/onnx/data/input_quantized_split.npy new file mode 100644 index 000000000..a6d482688 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_split.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_squeeze.npy b/testdata/dnn/onnx/data/input_quantized_squeeze.npy new file mode 100644 index 000000000..6782bb9b9 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_squeeze.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_transpose.npy b/testdata/dnn/onnx/data/input_quantized_transpose.npy new file mode 100644 index 000000000..2a9d7fba8 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_transpose.npy differ diff --git a/testdata/dnn/onnx/data/input_quantized_unsqueeze.npy b/testdata/dnn/onnx/data/input_quantized_unsqueeze.npy new file mode 100644 index 000000000..c79508e97 Binary files /dev/null and b/testdata/dnn/onnx/data/input_quantized_unsqueeze.npy differ diff --git a/testdata/dnn/onnx/data/input_reduceL2_subgraph2_2.npy b/testdata/dnn/onnx/data/input_reduceL2_subgraph2_2.npy new file mode 100644 index 000000000..a69a25a2a Binary files /dev/null and b/testdata/dnn/onnx/data/input_reduceL2_subgraph2_2.npy differ diff --git a/testdata/dnn/onnx/data/input_resize_humanseg.npy b/testdata/dnn/onnx/data/input_resize_humanseg.npy new file mode 100644 index 000000000..21953e023 Binary files /dev/null and b/testdata/dnn/onnx/data/input_resize_humanseg.npy differ diff --git a/testdata/dnn/onnx/data/input_scale_broadcast_0.npy b/testdata/dnn/onnx/data/input_scale_broadcast_0.npy new file mode 100644 index 000000000..84e55f5f6 Binary files /dev/null and b/testdata/dnn/onnx/data/input_scale_broadcast_0.npy differ diff --git a/testdata/dnn/onnx/data/input_scale_broadcast_1.npy b/testdata/dnn/onnx/data/input_scale_broadcast_1.npy new file mode 100644 index 000000000..b08129156 Binary files /dev/null and b/testdata/dnn/onnx/data/input_scale_broadcast_1.npy differ diff --git a/testdata/dnn/onnx/data/input_scale_broadcast_2.npy b/testdata/dnn/onnx/data/input_scale_broadcast_2.npy new file mode 100644 index 000000000..95938facb Binary files /dev/null and b/testdata/dnn/onnx/data/input_scale_broadcast_2.npy differ diff --git a/testdata/dnn/onnx/data/input_scale_broadcast_mid_0.npy b/testdata/dnn/onnx/data/input_scale_broadcast_mid_0.npy new file mode 100644 index 000000000..59fe767af Binary files /dev/null and b/testdata/dnn/onnx/data/input_scale_broadcast_mid_0.npy differ diff --git a/testdata/dnn/onnx/data/input_scale_broadcast_mid_1.npy b/testdata/dnn/onnx/data/input_scale_broadcast_mid_1.npy new file mode 100644 index 000000000..4175e2dc7 Binary files /dev/null and b/testdata/dnn/onnx/data/input_scale_broadcast_mid_1.npy differ diff --git a/testdata/dnn/onnx/data/input_slice_neg_starts.npy b/testdata/dnn/onnx/data/input_slice_neg_starts.npy new file mode 100644 index 000000000..796895eaf Binary files /dev/null and b/testdata/dnn/onnx/data/input_slice_neg_starts.npy differ diff --git a/testdata/dnn/onnx/data/input_split_neg_axis.npy b/testdata/dnn/onnx/data/input_split_neg_axis.npy new file mode 100644 index 000000000..7aa3924e7 Binary files /dev/null and b/testdata/dnn/onnx/data/input_split_neg_axis.npy differ diff --git a/testdata/dnn/onnx/data/input_split_sizes.npy b/testdata/dnn/onnx/data/input_split_sizes.npy new file mode 100644 index 000000000..3cffa7442 Binary files /dev/null and b/testdata/dnn/onnx/data/input_split_sizes.npy differ diff --git a/testdata/dnn/onnx/data/input_sub_from_const1.npy b/testdata/dnn/onnx/data/input_sub_from_const1.npy new file mode 100644 index 000000000..7ebf75d8a Binary files /dev/null and b/testdata/dnn/onnx/data/input_sub_from_const1.npy differ diff --git a/testdata/dnn/onnx/data/input_sub_from_const_broadcast.npy b/testdata/dnn/onnx/data/input_sub_from_const_broadcast.npy new file mode 100644 index 000000000..5f34483a0 Binary files /dev/null and b/testdata/dnn/onnx/data/input_sub_from_const_broadcast.npy differ diff --git a/testdata/dnn/onnx/data/input_sub_from_const_eltwise.npy b/testdata/dnn/onnx/data/input_sub_from_const_eltwise.npy new file mode 100644 index 000000000..38408b6ed Binary files /dev/null and b/testdata/dnn/onnx/data/input_sub_from_const_eltwise.npy differ diff --git a/testdata/dnn/onnx/data/input_unsqueeze_opset_13.npy b/testdata/dnn/onnx/data/input_unsqueeze_opset_13.npy new file mode 100644 index 000000000..18f34a6f9 Binary files /dev/null and b/testdata/dnn/onnx/data/input_unsqueeze_opset_13.npy differ diff --git a/testdata/dnn/onnx/data/output_PReLU_slope.npy b/testdata/dnn/onnx/data/output_PReLU_slope.npy new file mode 100644 index 000000000..e8d0d5d20 Binary files /dev/null and b/testdata/dnn/onnx/data/output_PReLU_slope.npy differ diff --git a/testdata/dnn/onnx/data/output_concat_const_blobs.npy b/testdata/dnn/onnx/data/output_concat_const_blobs.npy new file mode 100644 index 000000000..3840e6287 Binary files /dev/null and b/testdata/dnn/onnx/data/output_concat_const_blobs.npy differ diff --git a/testdata/dnn/onnx/data/output_conv_asymmetric_pads.npy b/testdata/dnn/onnx/data/output_conv_asymmetric_pads.npy new file mode 100644 index 000000000..d754cf1ff Binary files /dev/null and b/testdata/dnn/onnx/data/output_conv_asymmetric_pads.npy differ diff --git a/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1.npy b/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1.npy new file mode 100644 index 000000000..bdae94cbc Binary files /dev/null and b/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1.npy differ diff --git a/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1_reverse.npy b/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1_reverse.npy new file mode 100644 index 000000000..762379f8b Binary files /dev/null and b/testdata/dnn/onnx/data/output_cumsum_1d_exclusive_1_reverse.npy differ diff --git a/testdata/dnn/onnx/data/output_cumsum_1d_reverse.npy b/testdata/dnn/onnx/data/output_cumsum_1d_reverse.npy new file mode 100644 index 000000000..c567ed9d4 Binary files /dev/null and b/testdata/dnn/onnx/data/output_cumsum_1d_reverse.npy differ diff --git a/testdata/dnn/onnx/data/output_cumsum_2d_dim_1.npy b/testdata/dnn/onnx/data/output_cumsum_2d_dim_1.npy new file mode 100644 index 000000000..c4d9bd1ac Binary files /dev/null and b/testdata/dnn/onnx/data/output_cumsum_2d_dim_1.npy differ diff --git a/testdata/dnn/onnx/data/output_cumsum_3d_dim_2.npy b/testdata/dnn/onnx/data/output_cumsum_3d_dim_2.npy new file mode 100644 index 000000000..105115228 Binary files /dev/null and b/testdata/dnn/onnx/data/output_cumsum_3d_dim_2.npy differ diff --git a/testdata/dnn/onnx/data/output_dynamic_batch.npy b/testdata/dnn/onnx/data/output_dynamic_batch.npy new file mode 100644 index 000000000..4a69fa177 Binary files /dev/null and b/testdata/dnn/onnx/data/output_dynamic_batch.npy differ diff --git a/testdata/dnn/onnx/data/output_expand.npy b/testdata/dnn/onnx/data/output_expand.npy new file mode 100644 index 000000000..dd95e515f Binary files /dev/null and b/testdata/dnn/onnx/data/output_expand.npy differ diff --git a/testdata/dnn/onnx/data/output_expand_identity.npy b/testdata/dnn/onnx/data/output_expand_identity.npy new file mode 100644 index 000000000..b2adf81de Binary files /dev/null and b/testdata/dnn/onnx/data/output_expand_identity.npy differ diff --git a/testdata/dnn/onnx/data/output_gru.npy b/testdata/dnn/onnx/data/output_gru.npy new file mode 100644 index 000000000..5058a0b39 Binary files /dev/null and b/testdata/dnn/onnx/data/output_gru.npy differ diff --git a/testdata/dnn/onnx/data/output_gru_bi.npy b/testdata/dnn/onnx/data/output_gru_bi.npy new file mode 100644 index 000000000..949bf112c Binary files /dev/null and b/testdata/dnn/onnx/data/output_gru_bi.npy differ diff --git a/testdata/dnn/onnx/data/output_hidden_lstm.npy b/testdata/dnn/onnx/data/output_hidden_lstm.npy new file mode 100644 index 000000000..1de0fa377 Binary files /dev/null and b/testdata/dnn/onnx/data/output_hidden_lstm.npy differ diff --git a/testdata/dnn/onnx/data/output_hidden_lstm_bi.npy b/testdata/dnn/onnx/data/output_hidden_lstm_bi.npy new file mode 100644 index 000000000..1b3ebdc3d Binary files /dev/null and b/testdata/dnn/onnx/data/output_hidden_lstm_bi.npy differ diff --git a/testdata/dnn/onnx/data/output_lstm_cntk_tanh.pb b/testdata/dnn/onnx/data/output_lstm_cntk_tanh.pb new file mode 100644 index 000000000..02fd903dc --- /dev/null +++ b/testdata/dnn/onnx/data/output_lstm_cntk_tanh.pb @@ -0,0 +1,2 @@ +BSplice1349_Output_0Jx�3=f�=%G�s!�=�l�߽Խ�=A�={ٽ�h>�te�)�*�R��<'��=b݉�O[�=���: com.microsoft +� +2_scale + 2_zero_point +input_quantized + input_scale +input_zero_point + 1_quantized +1_scale + 1_zero_point 2_quantizedConcat_1_quant" QLinearConcat* +axis�: com.microsoft +M + 2_quantized +2_scale + 2_zero_point22_DequantizeLinear"DequantizeLineartorch-jit-export**,B 1_zero_point*"r�;B1_scale**�Binput_zero_point*"��;B input_scale**�B 2_zero_point*"��;B2_scaleZ +input + + + + +b +2 + + + + +j +1 + + + + +B B +com.microsoft.experimentalB +ai.onnx.preview.trainingB +com.microsoft.nchwcB +com.microsoft.mlfeaturizersB + +ai.onnx.mlB + com.microsoftB +ai.onnx.training \ No newline at end of file diff --git a/testdata/dnn/onnx/models/quantized_concat_const_blob.onnx b/testdata/dnn/onnx/models/quantized_concat_const_blob.onnx new file mode 100644 index 000000000..30d0e0d45 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_concat_const_blob.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_constant.onnx b/testdata/dnn/onnx/models/quantized_constant.onnx new file mode 100644 index 000000000..1374018eb Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_constant.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_conv_int8_weights.onnx b/testdata/dnn/onnx/models/quantized_conv_int8_weights.onnx new file mode 100644 index 000000000..dec41d14e Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_conv_int8_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_conv_per_channel_weights.onnx b/testdata/dnn/onnx/models/quantized_conv_per_channel_weights.onnx new file mode 100644 index 000000000..9104cdad2 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_conv_per_channel_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_conv_uint8_weights.onnx b/testdata/dnn/onnx/models/quantized_conv_uint8_weights.onnx new file mode 100644 index 000000000..fe684c515 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_conv_uint8_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_eltwise.onnx b/testdata/dnn/onnx/models/quantized_eltwise.onnx new file mode 100644 index 000000000..481569218 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_eltwise.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_eltwise_broadcast.onnx b/testdata/dnn/onnx/models/quantized_eltwise_broadcast.onnx new file mode 100644 index 000000000..140725064 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_eltwise_broadcast.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_eltwise_scalar.onnx b/testdata/dnn/onnx/models/quantized_eltwise_scalar.onnx new file mode 100644 index 000000000..df95d71ae Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_eltwise_scalar.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_leaky_relu.onnx b/testdata/dnn/onnx/models/quantized_leaky_relu.onnx new file mode 100644 index 000000000..441988777 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_leaky_relu.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_matmul_int8_weights.onnx b/testdata/dnn/onnx/models/quantized_matmul_int8_weights.onnx new file mode 100644 index 000000000..92b891cf1 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_matmul_int8_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_matmul_per_channel_weights.onnx b/testdata/dnn/onnx/models/quantized_matmul_per_channel_weights.onnx new file mode 100644 index 000000000..1f183f3fc Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_matmul_per_channel_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_matmul_uint8_weights.onnx b/testdata/dnn/onnx/models/quantized_matmul_uint8_weights.onnx new file mode 100644 index 000000000..2bd3cd7c0 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_matmul_uint8_weights.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_matmul_variable_inputs.onnx b/testdata/dnn/onnx/models/quantized_matmul_variable_inputs.onnx new file mode 100644 index 000000000..beb7d24ce Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_matmul_variable_inputs.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_maxpool.onnx b/testdata/dnn/onnx/models/quantized_maxpool.onnx new file mode 100644 index 000000000..b00558350 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_maxpool.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_padding.onnx b/testdata/dnn/onnx/models/quantized_padding.onnx new file mode 100644 index 000000000..befd2cf33 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_padding.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_reshape.onnx b/testdata/dnn/onnx/models/quantized_reshape.onnx new file mode 100644 index 000000000..eba3ea222 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_reshape.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_resize_bilinear.onnx b/testdata/dnn/onnx/models/quantized_resize_bilinear.onnx new file mode 100644 index 000000000..ae7eefc72 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_resize_bilinear.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_resize_bilinear_align.onnx b/testdata/dnn/onnx/models/quantized_resize_bilinear_align.onnx new file mode 100644 index 000000000..b8e41008b Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_resize_bilinear_align.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_resize_nearest.onnx b/testdata/dnn/onnx/models/quantized_resize_nearest.onnx new file mode 100644 index 000000000..b4a346ef4 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_resize_nearest.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_sigmoid.onnx b/testdata/dnn/onnx/models/quantized_sigmoid.onnx new file mode 100644 index 000000000..f423c731f Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_sigmoid.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_split.onnx b/testdata/dnn/onnx/models/quantized_split.onnx new file mode 100644 index 000000000..b57b436cf --- /dev/null +++ b/testdata/dnn/onnx/models/quantized_split.onnx @@ -0,0 +1,89 @@ + onnx.quantize0.1.0:� +l +tensor.1 +tensor.1_scale +tensor.1_zero_pointtensor.1_quantizedtensor.1_QuantizeLinear"QuantizeLinear +_ +tensor.1_quantized +1quantized +2quantized Split_0_quant"Split* +axis�* +split@@� +Z + +1quantized +tensor.1_scale +tensor.1_zero_point11_DequantizeLinear"DequantizeLinear +W + +2quantized +3quantized +4quantized Split_1_quant"Split* +axis�* +split@@� +Z + +3quantized +tensor.1_scale +tensor.1_zero_point33_DequantizeLinear"DequantizeLinear +Z + +4quantized +tensor.1_scale +tensor.1_zero_point44_DequantizeLinear"DequantizeLinear + +3 +45Max_2"Max + +1 +56Max_3"Maxtorch-jit-export**�Btensor.1_zero_point*"V��;Btensor.1_scaleZ" +tensor.1 + + + + +b +6 + + + + +j +1 + + + + +j +2 + + + + +j +3 + + + + +j +4 + + + + +j +5 + + + + +B B +com.microsoft.experimentalB +ai.onnx.preview.trainingB +com.microsoft.nchwcB +com.microsoft.mlfeaturizersB + +ai.onnx.mlB + com.microsoftB +ai.onnx.training \ No newline at end of file diff --git a/testdata/dnn/onnx/models/quantized_squeeze.onnx b/testdata/dnn/onnx/models/quantized_squeeze.onnx new file mode 100644 index 000000000..3e5b7fa11 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_squeeze.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_transpose.onnx b/testdata/dnn/onnx/models/quantized_transpose.onnx new file mode 100644 index 000000000..99ced695c Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_transpose.onnx differ diff --git a/testdata/dnn/onnx/models/quantized_unsqueeze.onnx b/testdata/dnn/onnx/models/quantized_unsqueeze.onnx new file mode 100644 index 000000000..9db72c622 Binary files /dev/null and b/testdata/dnn/onnx/models/quantized_unsqueeze.onnx differ diff --git a/testdata/dnn/onnx/models/reduceL2_subgraph2_2.onnx b/testdata/dnn/onnx/models/reduceL2_subgraph2_2.onnx new file mode 100644 index 000000000..141301bb4 Binary files /dev/null and b/testdata/dnn/onnx/models/reduceL2_subgraph2_2.onnx differ diff --git a/testdata/dnn/onnx/models/resize_humanseg.onnx b/testdata/dnn/onnx/models/resize_humanseg.onnx new file mode 100644 index 000000000..061aa65fa Binary files /dev/null and b/testdata/dnn/onnx/models/resize_humanseg.onnx differ diff --git a/testdata/dnn/onnx/models/scale_broadcast.onnx b/testdata/dnn/onnx/models/scale_broadcast.onnx new file mode 100644 index 000000000..c45a4f5fa --- /dev/null +++ b/testdata/dnn/onnx/models/scale_broadcast.onnx @@ -0,0 +1,30 @@ +pytorch1.9:� + +0 +13Mul_0"Mul + +3 +24Mul_1"Multorch-jit-exportZ +0 + + + + +Z +1 + + + +Z +2 + + + + +b +4 + + + + +B \ No newline at end of file diff --git a/testdata/dnn/onnx/models/scale_broadcast_mid.onnx b/testdata/dnn/onnx/models/scale_broadcast_mid.onnx new file mode 100644 index 000000000..766bdb73e --- /dev/null +++ b/testdata/dnn/onnx/models/scale_broadcast_mid.onnx @@ -0,0 +1,19 @@ +pytorch1.9:t + +0 +12Mul_0"Multorch-jit-exportZ +0 + + + +Z +1 + + + +b +2 + + + +B \ No newline at end of file diff --git a/testdata/dnn/onnx/models/slice_neg_starts.onnx b/testdata/dnn/onnx/models/slice_neg_starts.onnx new file mode 100644 index 000000000..07c0c9966 Binary files /dev/null and b/testdata/dnn/onnx/models/slice_neg_starts.onnx differ diff --git a/testdata/dnn/onnx/models/split_neg_axis.onnx b/testdata/dnn/onnx/models/split_neg_axis.onnx new file mode 100644 index 000000000..b2b5fceb7 --- /dev/null +++ b/testdata/dnn/onnx/models/split_neg_axis.onnx @@ -0,0 +1,22 @@ +pytorch1.9:� +S +tensor12345Split_0"Split* +axis����������* +split@@@@@� +1 +1 +2 +3 +4 +56Concat_1"Concat* +axis�torch-jit-exportZ +tensor +  + + +b +6 +  + + +B \ No newline at end of file diff --git a/testdata/dnn/onnx/models/split_sizes.onnx b/testdata/dnn/onnx/models/split_sizes.onnx new file mode 100644 index 000000000..58f867693 Binary files /dev/null and b/testdata/dnn/onnx/models/split_sizes.onnx differ diff --git a/testdata/dnn/onnx/models/sub_from_const1.onnx b/testdata/dnn/onnx/models/sub_from_const1.onnx new file mode 100644 index 000000000..4809de5f2 Binary files /dev/null and b/testdata/dnn/onnx/models/sub_from_const1.onnx differ diff --git a/testdata/dnn/onnx/models/sub_from_const_broadcast.onnx b/testdata/dnn/onnx/models/sub_from_const_broadcast.onnx new file mode 100644 index 000000000..feabfa849 --- /dev/null +++ b/testdata/dnn/onnx/models/sub_from_const_broadcast.onnx @@ -0,0 +1,15 @@ +pytorch1.9:� +;1 +Constant_0"Constant* +value*J W@�@-�oy�� + +1 +02Sub_1"Subtorch-jit-exportZ +0 +  + +b +2 +  + +B \ No newline at end of file diff --git a/testdata/dnn/onnx/models/sub_from_const_eltwise.onnx b/testdata/dnn/onnx/models/sub_from_const_eltwise.onnx new file mode 100644 index 000000000..feb661f7c --- /dev/null +++ b/testdata/dnn/onnx/models/sub_from_const_eltwise.onnx @@ -0,0 +1,19 @@ +pytorch1.9:� +�1 +Constant_0"Constant*x +value*lJ`�)h����Vg>]D���t8��� ��/�0?F��ko]��3���uI?�X�=.&����,��[W�����>a��Z]��ǒ�?�2V־�݂�� + +1 +02Sub_1"Subtorch-jit-exportZ +0 + + + + +b +2 + + + + +B \ No newline at end of file diff --git a/testdata/dnn/onnx/models/unsqueeze_opset_13.onnx b/testdata/dnn/onnx/models/unsqueeze_opset_13.onnx new file mode 100644 index 000000000..680413a43 Binary files /dev/null and b/testdata/dnn/onnx/models/unsqueeze_opset_13.onnx differ diff --git a/testdata/dnn/onnx/readme.lstm_cntk_tanh.txt b/testdata/dnn/onnx/readme.lstm_cntk_tanh.txt new file mode 100644 index 000000000..453da22a5 --- /dev/null +++ b/testdata/dnn/onnx/readme.lstm_cntk_tanh.txt @@ -0,0 +1,3 @@ +Original location: +- https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/test/testdata/CNTK/test_LSTM.tanh.bidirectional/model.onnx +- https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/test/testdata/CNTK/test_LSTM.tanh.bidirectional/test_data_set_0 diff --git a/testdata/dnn/soft_nms_reference.yml b/testdata/dnn/soft_nms_reference.yml new file mode 100644 index 000000000..19c3aff4f --- /dev/null +++ b/testdata/dnn/soft_nms_reference.yml @@ -0,0 +1,31 @@ +%YAML:1.0 +--- +boxes: [ 409, 55, 82, 25, 157, 71, 65, 25, 427, 25, 35, 23, 131, 133, + 322, 94, 403, 55, 80, 24, 155, 72, 66, 22, 416, 28, 48, 24, 50, 106, + 485, 155, 78, 286, 460, 64, 176, 76, 64, 17, 0, 0, 598, 346, 36, 78, + 58, 46, 24, 6, 258, 164, 98, 189, 423, 145, 407, 56, 81, 25, 159, 69, + 62, 25, 431, 28, 36, 21, 123, 121, 336, 113, 41, 51, 181, 72, 430, + 27, 36, 21, 399, 49, 86, 30, 155, 72, 61, 24, 84, 102, 426, 166, 128, + 0, 336, 347, 127, 251, 337, 101, 390, 22, 78, 39, 432, 26, 38, 23, + 156, 72, 61, 23, 414, 55, 79, 22, 215, 135, 165, 88, 276, 166, 84, + 48, 301, 22, 81, 45, 402, 59, 77, 28, 521, 11, 76, 35, 12, 73, 48, + 54, 193, 163, 197, 36, 146, 127, 127, 49, 44, 75, 60, 49 ] +probs: [ 1., 1., 9.50373888e-01, 2.62993928e-02, 9.99991059e-01, + 9.97794747e-01, 1.65874109e-01, 5.08980490e-02, 2.25577131e-02, + 2.18296256e-02, 1.93440001e-02, 1.31233213e-02, 1.28434300e-02, + 1.08395228e-02, 1., 9.99996901e-01, 9.98169780e-01, 3.46690901e-02, + 1.00121163e-02, 9.99895453e-01, 9.68177438e-01, 9.65382040e-01, + 6.64785877e-02, 2.35476252e-02, 1.25701502e-02, 1.25500374e-02, 1., + 1., 9.99995470e-01, 2.12208077e-01, 3.39371487e-02, 2.36911718e-02, + 1.37866093e-02, 1.24980714e-02, 1.21721951e-02, 1.16886804e-02, + 1.12007223e-02, 1.11661423e-02 ] +indices: [ 0, 1, 26, 20, 2, 15, 28, 16, 21, 29, 14, 19, 5, 4, 22, 27, 6, + 30, 7, 31, 8, 17, 23, 11, 33, 12, 34, 36 ] +updated_scores: [ 1.000000000000000, 1.000000000000000, 1.000000000000000, + 0.634520173072815, 0.624747872352600, 0.514399647712708, 0.376939475536346, + 0.329439252614975, 0.283865988254547, 0.212208077311516, 0.190269082784653, + 0.146278440952301, 0.118331797420979, 0.095820419490337, 0.063734129071236, + 0.053496349602938, 0.050462152808905, 0.031316649168730, 0.024680756032467, + 0.023691171780229, 0.022557713091373, 0.017200922593474, 0.014761860482395, + 0.013121815398335, 0.012498071417212, 0.011637533083558, 0.011319587938488, + 0.010369089432061 ] diff --git a/testdata/dnn/tensorflow/bias_add_1_in.npy b/testdata/dnn/tensorflow/bias_add_1_in.npy new file mode 100644 index 000000000..2e749acdd Binary files /dev/null and b/testdata/dnn/tensorflow/bias_add_1_in.npy differ diff --git a/testdata/dnn/tensorflow/bias_add_1_net.pb b/testdata/dnn/tensorflow/bias_add_1_net.pb new file mode 100644 index 000000000..517a5a559 Binary files /dev/null and b/testdata/dnn/tensorflow/bias_add_1_net.pb differ diff --git a/testdata/dnn/tensorflow/bias_add_1_out.npy b/testdata/dnn/tensorflow/bias_add_1_out.npy new file mode 100644 index 000000000..e0fcb7290 Binary files /dev/null and b/testdata/dnn/tensorflow/bias_add_1_out.npy differ diff --git a/testdata/dnn/tensorflow/broken_layer_net.pb b/testdata/dnn/tensorflow/broken_layer_net.pb new file mode 100644 index 000000000..a962c259d --- /dev/null +++ b/testdata/dnn/tensorflow/broken_layer_net.pb @@ -0,0 +1,18 @@ + +6 +x Placeholder* +dtype0* +shape:  +8 +x_1 Placeholder* +dtype0* +shape:  +3 + model_24/tf.math.multiply_24/MulMulx* +T0 +W + model_24/tf.math.multiply_25/MulMul model_24/tf.math.multiply_24/Mulx_1* +T0 +? +IdentityIdentity model_24/tf.math.multiply_25/Mul* +T0"� \ No newline at end of file diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_in.npy b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_in.npy new file mode 100644 index 000000000..3dc59dbb9 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_in.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_net.pb b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_net.pb new file mode 100644 index 000000000..4fb64436a Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_net.pb differ diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_out.npy b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_out.npy new file mode 100644 index 000000000..822c21fea Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nchw_out.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_in.npy b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_in.npy new file mode 100644 index 000000000..a67675944 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_in.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_net.pb b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_net.pb new file mode 100644 index 000000000..14fce4876 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_net.pb differ diff --git a/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_out.npy b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_out.npy new file mode 100644 index 000000000..11bedf41e Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_asymmetric_pads_nhwc_out.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_in.npy b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_in.npy new file mode 100644 index 000000000..7f7a1f372 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_in.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_net.pb b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_net.pb new file mode 100644 index 000000000..533cc309a Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_net.pb differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_out.npy b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_out.npy new file mode 100644 index 000000000..9b884a818 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nchw_out.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_in.npy b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_in.npy new file mode 100644 index 000000000..f2b9746e6 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_in.npy differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_net.pb b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_net.pb new file mode 100644 index 000000000..f2716d484 Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_net.pb differ diff --git a/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_out.npy b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_out.npy new file mode 100644 index 000000000..24246981d Binary files /dev/null and b/testdata/dnn/tensorflow/conv2d_backprop_input_asymmetric_pads_nhwc_out.npy differ diff --git a/testdata/dnn/tensorflow/expand_dims_1_in.npy b/testdata/dnn/tensorflow/expand_dims_1_in.npy new file mode 100644 index 000000000..63d6f8aab Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_1_in.npy differ diff --git a/testdata/dnn/tensorflow/expand_dims_1_net.pb b/testdata/dnn/tensorflow/expand_dims_1_net.pb new file mode 100644 index 000000000..33f8309d5 Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_1_net.pb differ diff --git a/testdata/dnn/tensorflow/expand_dims_1_out.npy b/testdata/dnn/tensorflow/expand_dims_1_out.npy new file mode 100644 index 000000000..088312056 Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_1_out.npy differ diff --git a/testdata/dnn/tensorflow/expand_dims_2_in.npy b/testdata/dnn/tensorflow/expand_dims_2_in.npy new file mode 100644 index 000000000..ebd7fdd0a Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_2_in.npy differ diff --git a/testdata/dnn/tensorflow/expand_dims_2_net.pb b/testdata/dnn/tensorflow/expand_dims_2_net.pb new file mode 100644 index 000000000..4d7dfe9d8 Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_2_net.pb differ diff --git a/testdata/dnn/tensorflow/expand_dims_2_out.npy b/testdata/dnn/tensorflow/expand_dims_2_out.npy new file mode 100644 index 000000000..a79044597 Binary files /dev/null and b/testdata/dnn/tensorflow/expand_dims_2_out.npy differ diff --git a/testdata/dnn/tensorflow/generate_tf2_models.py b/testdata/dnn/tensorflow/generate_tf2_models.py index c157ff185..0834ec85d 100644 --- a/testdata/dnn/tensorflow/generate_tf2_models.py +++ b/testdata/dnn/tensorflow/generate_tf2_models.py @@ -15,16 +15,16 @@ def gen_data(placeholder): return np.random.standard_normal(shape).astype(placeholder.dtype.as_numpy_dtype()) -def writeBlob(data, name): +def writeBlob(data, name, nchw = False): try: data = data.numpy() except: pass - if data.ndim == 4: + if not nchw and data.ndim == 4: # NHWC->NCHW data = data.transpose(0, 3, 1, 2) - elif data.ndim == 5: + elif not nchw and data.ndim == 5: # NDHWC->NCDHW data = data.transpose(0, 4, 1, 2, 3) @@ -32,7 +32,7 @@ def writeBlob(data, name): np.save(name + '.npy', data) -def save(model, name, **kwargs): +def save(model, name, nchw = False, **kwargs): model.save(name) assert(len(kwargs) == 1) @@ -40,8 +40,8 @@ def save(model, name, **kwargs): inputData = gen_data(next(iter(kwargs.values()))) outputData = model(inputData) - writeBlob(inputData, name + '_in') - writeBlob(outputData, name + '_out') + writeBlob(inputData, name + '_in', nchw) + writeBlob(outputData, name + '_out', nchw) # Freeze model loaded = tf.saved_model.load(name) @@ -58,6 +58,15 @@ def save(model, name, **kwargs): shutil.rmtree(name) +def getGraph(model): + func = tf.function(lambda x: model(x)) + func = func.get_concrete_function([tf.TensorSpec(model_input.shape, model_input.dtype) for model_input in model.inputs]) + + frozen_func = convert_variables_to_constants_v2(func) + return frozen_func.graph.as_graph_def() + +def saveBroken(graph, name): + tf.io.write_graph(graph_or_graph_def=graph, logdir='.', name=name + '_net.pb', as_text=False) # Test cases ################################################################### model = tf.keras.models.Sequential([ @@ -78,6 +87,67 @@ def save(model, name, **kwargs): ]) save(model, 'tf2_permute_nhwc_ncwh', average_pooling2d_input=tf.TensorSpec(shape=[None, 4, 6, 3], dtype=tf.float32)) ################################################################################ +# TF 2.5.0 + python 3.6.13 +x_0 = tf.keras.layers.Input(batch_shape = (2, 3, 4)) +mid_0 = tf.expand_dims(x_0, axis=0) +x_1 = tf.keras.layers.Input(batch_shape = (2, 3, 4)) +mid_1 = tf.reshape(x_1, [1, 2, 3, 4]) +out = tf.math.multiply(mid_0, mid_1) +graph = getGraph(tf.keras.Model([x_0, x_1], out)) +graph.node[3].op = 'UnknownLayer' # replace ExpandDims op with womething that will never be implemented +saveBroken(graph, 'not_implemented_layer') +################################################################################ +# TF 2.5.0 + python 3.6.13 +x_0 = tf.keras.layers.Input(batch_shape = (1, 3, 4)) +x_1 = tf.keras.layers.Input(batch_shape = (1, 3, 4)) +mid = tf.math.multiply(x_0, x_1) +out = tf.math.multiply(mid, x_1) +graph = getGraph(tf.keras.Model([x_0, x_1], out)) +graph.node[2].input.pop() # break the connection in the graph +saveBroken(graph, 'broken_layer') +# TF 2.5.0 + python 3.6.13 +tf.keras.backend.set_image_data_format('channels_first') +x = tf.keras.layers.Input(batch_shape = (1, 2, 3, 4), name='x') +kernel = np.random.standard_normal((3, 3, 2, 3)).astype(np.float32) +y = tf.nn.conv2d(x, tf.constant(kernel, dtype=tf.float32), data_format = 'NCHW', padding = [[0, 0], [0, 0], [2, 1], [2, 1]], strides = [1, 1, 3, 2]) +model = tf.keras.Model(x, y) +save(model, 'conv2d_asymmetric_pads_nchw', True, x=tf.TensorSpec(shape=[1, 2, 3, 4], dtype=tf.float32)) +################################################################################ +# TF 2.5.0 + python 3.6.13 +tf.keras.backend.set_image_data_format('channels_last') +x = tf.keras.layers.Input(batch_shape = (1, 3, 4, 2), name='x') +kernel = np.random.standard_normal((3, 3, 2, 3)).astype(np.float32) +y = tf.nn.conv2d(x, tf.constant(kernel, dtype=tf.float32), data_format = 'NHWC', padding = [[0, 0], [2, 1], [2, 1], [0, 0]], strides = [1, 3, 2, 1]) +model = tf.keras.Model(x, y) +save(model, 'conv2d_asymmetric_pads_nhwc', False, x=tf.TensorSpec(shape=[1, 3, 4, 2], dtype=tf.float32)) +################################################################################ +# TF 2.5.0 + python 3.6.13 +tf.keras.backend.set_image_data_format('channels_first') +x = tf.keras.layers.Input(batch_shape = (1, 1, 2, 3), name='x') +y = tf.nn.max_pool(x, ksize=2, data_format = "NCHW", padding = [[0, 0], [0, 0], [1, 0], [1, 1]], strides = [1, 1, 3, 2]) +model = tf.keras.Model(x, y) +save(model, 'max_pool2d_asymmetric_pads_nchw', True, x=tf.TensorSpec(shape=(1, 1, 2, 3), dtype=tf.float32)) +################################################################################ +# TF 2.5.0 + python 3.6.13 +tf.keras.backend.set_image_data_format('channels_last') +x = tf.keras.layers.Input(batch_shape = (1, 2, 3, 1), name='x') +y = tf.nn.max_pool(x, ksize=2, data_format = "NHWC", padding = [[0, 0], [1, 0], [1, 1], [0, 0]], strides = [1, 3, 2, 1]) +model = tf.keras.Model(x, y) +save(model, 'max_pool2d_asymmetric_pads_nhwc', False, x=tf.TensorSpec(shape=(1, 2, 3, 1), dtype=tf.float32)) +################dd################################################################ +tf.keras.backend.set_image_data_format('channels_first') +x = tf.keras.layers.Input(batch_shape = (1, 3, 2, 3), name='x') +kernel = np.random.standard_normal((3, 3, 2, 3)).astype(np.float32) +y = tf.compat.v1.nn.conv2d_backprop_input(input_sizes=tf.constant([1, 2, 3, 4]), filter=kernel, out_backprop=x, data_format = "NCHW", padding = [[0, 0], [0, 0], [2, 1], [2, 1]], strides = [1, 1, 3, 2]) +model = tf.keras.Model(x, y) +save(model, 'conv2d_backprop_input_asymmetric_pads_nchw', True, x=tf.TensorSpec(shape=(1, 3, 2, 3), dtype=tf.float32)) +################################################################################ +tf.keras.backend.set_image_data_format('channels_last') +x = tf.keras.layers.Input(batch_shape = (1, 2, 3, 3), name='x') +kernel = np.random.standard_normal((3, 3, 2, 3)).astype(np.float32) +y = tf.compat.v1.nn.conv2d_backprop_input(input_sizes=tf.constant([1, 3, 4, 2]), filter=kernel, out_backprop=x, data_format = "NHWC", padding = [[0, 0], [2, 1], [2, 1], [0, 0]], strides = [1, 3, 2, 1]) +model = tf.keras.Model(x, y) +save(model, 'conv2d_backprop_input_asymmetric_pads_nhwc', False, x=tf.TensorSpec(shape=(1, 2, 3, 3), dtype=tf.float32)) # Uncomment to print the final graph. # with tf.io.gfile.GFile('tf2_prelu_net.pb', 'rb') as f: diff --git a/testdata/dnn/tensorflow/generate_tf_models.py b/testdata/dnn/tensorflow/generate_tf_models.py index 8ef276956..36949356c 100644 --- a/testdata/dnn/tensorflow/generate_tf_models.py +++ b/testdata/dnn/tensorflow/generate_tf_models.py @@ -572,6 +572,22 @@ def keras_relu6(x): save(inp, reduced, 'reduce_mean') ################################################################################ inp = tf.placeholder(tf.float32, [2, 3, 4, 5], 'input') +reduced = tf.reduce_max(inp, axis=[1, 2], keepdims=True) +save(inp, reduced, 'reduce_max') +################################################################################ +inp = tf.placeholder(tf.float32, [1, 2, 2, 4], 'ReduceMax') +out = tf.reduce_max([inp, inp * 2], axis=0) +save(inp, out, 'max_pool_by_axis') +################################################################################ +inp = tf.placeholder(tf.float32, [1, 4, 2, 3], 'input') +out = tf.math.reduce_max(inp, axis=-1) +save(inp, out, 'reduce_max_channel') +################################################################################ +inp = tf.placeholder(tf.float32, [1, 4, 2, 3], 'input') +out = tf.math.reduce_max(inp, axis=-1, keep_dims=True) +save(inp, out, ('reduce_max_channel', 'keep_dims'), is_gen_data=False) +################################################################################ +inp = tf.placeholder(tf.float32, [2, 3, 4, 5], 'input') reduced = tf.reduce_sum(inp, axis=[1, 2], keepdims=True) save(inp, reduced, 'reduce_sum') ################################################################################ @@ -1003,6 +1019,29 @@ def pad_depth(x, desired_channels): input_down = tf.image.resize(conv, size=[hi, wi], method=0, name='resize_down') save(inp, input_down, 'resize_bilinear_down') ################################################################################ +inp = tf.placeholder(tf.float32, [1, None, None, 3], 'input') +biased = tf.nn.bias_add(inp, [1, 2, 3], data_format='NHWC') +resized1 = tf.image.resize(biased, [5, 6]) +concat = tf.concat([resized1, biased], 3) +# blob = np.random.standard_normal([1, 5, 6, 3]).astype(tf.float32.as_numpy_dtype()) +# writeBlob(blob, 'resize_concat_optimization_in') +save(inp, concat, 'resize_concat_optimization', optimize=False, is_gen_data=False) +################################################################################ +inp = tf.placeholder(tf.float32, [1, 2, 3, 4], 'input') +sub = inp - 3.0 +sub = 4.0 + sub +save(inp, sub, prefix + 'bias_add_1', optimize=False) +################################################################################ +inp = tf.placeholder(tf.float32, [1, 2, 3, 4], 'input') +expand_dim = inp + 1 +expand_dim = tf.expand_dims(expand_dim, -2) +save(inp, expand_dim, prefix + 'expand_dims_1', optimize=False) +################################################################################ +inp = tf.placeholder(tf.float32, [1, 2, 3, 4, 5], 'input') +expand_dim = inp + 1 +expand_dim = tf.expand_dims(expand_dim, 2) +save(inp, expand_dim, prefix + 'expand_dims_2', optimize=False) +################################################################################ # Uncomment to print the final graph. # with tf.gfile.FastGFile('fused_batch_norm_net.pb', 'rb') as f: diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_in.npy b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_in.npy new file mode 100644 index 000000000..17434123f Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_in.npy differ diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_net.pb b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_net.pb new file mode 100644 index 000000000..8160bc4d6 Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_net.pb differ diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_out.npy b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_out.npy new file mode 100644 index 000000000..e09869948 Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nchw_out.npy differ diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_in.npy b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_in.npy new file mode 100644 index 000000000..095c93c7b Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_in.npy differ diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_net.pb b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_net.pb new file mode 100644 index 000000000..3d642661e Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_net.pb differ diff --git a/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_out.npy b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_out.npy new file mode 100644 index 000000000..b135a46c3 Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool2d_asymmetric_pads_nhwc_out.npy differ diff --git a/testdata/dnn/tensorflow/max_pool_by_axis_in.npy b/testdata/dnn/tensorflow/max_pool_by_axis_in.npy new file mode 100644 index 000000000..810e11375 Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool_by_axis_in.npy differ diff --git a/testdata/dnn/tensorflow/max_pool_by_axis_net.pb b/testdata/dnn/tensorflow/max_pool_by_axis_net.pb new file mode 100644 index 000000000..3af32187f Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool_by_axis_net.pb differ diff --git a/testdata/dnn/tensorflow/max_pool_by_axis_out.npy b/testdata/dnn/tensorflow/max_pool_by_axis_out.npy new file mode 100644 index 000000000..41ae850e8 Binary files /dev/null and b/testdata/dnn/tensorflow/max_pool_by_axis_out.npy differ diff --git a/testdata/dnn/tensorflow/not_implemented_layer_net.pb b/testdata/dnn/tensorflow/not_implemented_layer_net.pb new file mode 100644 index 000000000..172606220 Binary files /dev/null and b/testdata/dnn/tensorflow/not_implemented_layer_net.pb differ diff --git a/testdata/dnn/tensorflow/reduce_max_channel_in.npy b/testdata/dnn/tensorflow/reduce_max_channel_in.npy new file mode 100644 index 000000000..f153fe44a Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_channel_in.npy differ diff --git a/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_net.pb b/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_net.pb new file mode 100644 index 000000000..19bfa8748 Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_net.pb differ diff --git a/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_out.npy b/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_out.npy new file mode 100644 index 000000000..53c42d1e6 Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_channel_keep_dims_out.npy differ diff --git a/testdata/dnn/tensorflow/reduce_max_channel_net.pb b/testdata/dnn/tensorflow/reduce_max_channel_net.pb new file mode 100644 index 000000000..708e74613 Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_channel_net.pb differ diff --git a/testdata/dnn/tensorflow/reduce_max_channel_out.npy b/testdata/dnn/tensorflow/reduce_max_channel_out.npy new file mode 100644 index 000000000..3d03a60a9 Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_channel_out.npy differ diff --git a/testdata/dnn/tensorflow/reduce_max_in.npy b/testdata/dnn/tensorflow/reduce_max_in.npy new file mode 100644 index 000000000..1f39c0608 Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_in.npy differ diff --git a/testdata/dnn/tensorflow/reduce_max_net.pb b/testdata/dnn/tensorflow/reduce_max_net.pb new file mode 100644 index 000000000..544e05f1b Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_net.pb differ diff --git a/testdata/dnn/tensorflow/reduce_max_out.npy b/testdata/dnn/tensorflow/reduce_max_out.npy new file mode 100644 index 000000000..d5707e45f Binary files /dev/null and b/testdata/dnn/tensorflow/reduce_max_out.npy differ diff --git a/testdata/dnn/tensorflow/resize_concat_optimization_in.npy b/testdata/dnn/tensorflow/resize_concat_optimization_in.npy new file mode 100644 index 000000000..a56e39e32 Binary files /dev/null and b/testdata/dnn/tensorflow/resize_concat_optimization_in.npy differ diff --git a/testdata/dnn/tensorflow/resize_concat_optimization_net.pb b/testdata/dnn/tensorflow/resize_concat_optimization_net.pb new file mode 100644 index 000000000..27256c1e8 Binary files /dev/null and b/testdata/dnn/tensorflow/resize_concat_optimization_net.pb differ diff --git a/testdata/dnn/tensorflow/resize_concat_optimization_out.npy b/testdata/dnn/tensorflow/resize_concat_optimization_out.npy new file mode 100644 index 000000000..759289158 Binary files /dev/null and b/testdata/dnn/tensorflow/resize_concat_optimization_out.npy differ diff --git a/testdata/dnn/yolov4x-mish.cfg b/testdata/dnn/yolov4x-mish.cfg new file mode 100644 index 000000000..ec93c6312 --- /dev/null +++ b/testdata/dnn/yolov4x-mish.cfg @@ -0,0 +1,1436 @@ +[net] +# Testing +batch=2 +subdivisions=1 +# Training +#batch=64 +#subdivisions=8 +width=640 +height=640 +channels=3 +momentum=0.949 +decay=0.0005 +angle=0 +saturation = 1.5 +exposure = 1.5 +hue=.1 + +learning_rate=0.001 +burn_in=1000 +max_batches = 500500 +policy=steps +steps=400000,450000 +scales=.1,.1 + +mosaic=1 + +letter_box=1 + +#optimized_memory=1 + +[convolutional] +batch_normalize=1 +filters=32 +size=3 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=40 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +# Downsample + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=80 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=80 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-13 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-34 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-34 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +# Downsample + +[convolutional] +batch_normalize=1 +filters=1280 +size=3 +stride=2 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=3 +stride=1 +pad=1 +activation=mish + +[shortcut] +from=-3 +activation=linear + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1,-19 + +[convolutional] +batch_normalize=1 +filters=1280 +size=1 +stride=1 +pad=1 +activation=mish + +########################## 6 0 6 6 3 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +### SPP ### +[maxpool] +stride=1 +size=5 + +[route] +layers=-2 + +[maxpool] +stride=1 +size=9 + +[route] +layers=-4 + +[maxpool] +stride=1 +size=13 + +[route] +layers=-1,-3,-5,-6 +### End SPP ### + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1, -15 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 94 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1, -8 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[upsample] +stride=2 + +[route] +layers = 57 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -1, -3 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=160 +activation=mish + +[route] +layers = -1, -8 + +[convolutional] +batch_normalize=1 +filters=160 +size=1 +stride=1 +pad=1 +activation=mish +stopbackward=800 + +########################## + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 0,1,2 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=0 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=4.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1, -22 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=320 +activation=mish + +[route] +layers = -1,-8 + +[convolutional] +batch_normalize=1 +filters=320 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 3,4,5 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=1.0 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=5 + +[route] +layers = -4 + +[convolutional] +batch_normalize=1 +size=3 +stride=2 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1, -55 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[route] +layers = -2 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=640 +activation=mish + +[route] +layers = -1,-8 + +[convolutional] +batch_normalize=1 +filters=640 +size=1 +stride=1 +pad=1 +activation=mish + +[convolutional] +batch_normalize=1 +size=3 +stride=1 +pad=1 +filters=1280 +activation=mish + +[convolutional] +size=1 +stride=1 +pad=1 +filters=255 +activation=logistic + + +[yolo] +mask = 6,7,8 +anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401 +classes=80 +num=9 +jitter=.1 +scale_x_y = 2.0 +objectness_smooth=1 +ignore_thresh = .7 +truth_thresh = 1 +#random=1 +resize=1.5 +iou_thresh=0.2 +iou_normalizer=0.05 +cls_normalizer=0.5 +obj_normalizer=0.4 +iou_loss=ciou +nms_kind=diounms +beta_nms=0.6 +new_coords=1 +max_delta=2 diff --git a/testdata/gpu/video/1920x1080.avi b/testdata/gpu/video/1920x1080.avi deleted file mode 100755 index 528c4c9a6..000000000 Binary files a/testdata/gpu/video/1920x1080.avi and /dev/null differ diff --git a/testdata/gpu/video/768x576.avi b/testdata/gpu/video/768x576.avi deleted file mode 100644 index 02e69141b..000000000 Binary files a/testdata/gpu/video/768x576.avi and /dev/null differ