|
43 | 43 | }, |
44 | 44 | { |
45 | 45 | "cell_type": "code", |
46 | | - "execution_count": 1, |
| 46 | + "execution_count": 2, |
47 | 47 | "id": "c9564cff", |
48 | 48 | "metadata": {}, |
49 | 49 | "outputs": [], |
|
55 | 55 | "import matplotlib.pyplot as plt\n", |
56 | 56 | "import stumpy\n", |
57 | 57 | "\n", |
| 58 | + "from numba import njit\n", |
58 | 59 | "from stumpy import core\n", |
59 | 60 | "from scipy.io import loadmat" |
60 | 61 | ] |
|
69 | 70 | }, |
70 | 71 | { |
71 | 72 | "cell_type": "code", |
72 | | - "execution_count": 18, |
| 73 | + "execution_count": 3, |
73 | 74 | "id": "409dad09", |
74 | 75 | "metadata": {}, |
75 | 76 | "outputs": [], |
|
128 | 129 | }, |
129 | 130 | { |
130 | 131 | "cell_type": "code", |
131 | | - "execution_count": 3, |
| 132 | + "execution_count": 4, |
132 | 133 | "id": "c21c4587", |
133 | 134 | "metadata": {}, |
134 | 135 | "outputs": [], |
|
152 | 153 | }, |
153 | 154 | { |
154 | 155 | "cell_type": "code", |
155 | | - "execution_count": 19, |
| 156 | + "execution_count": 5, |
156 | 157 | "id": "dd1f7b3d", |
157 | 158 | "metadata": {}, |
158 | 159 | "outputs": [], |
|
222 | 223 | }, |
223 | 224 | { |
224 | 225 | "cell_type": "code", |
225 | | - "execution_count": 20, |
| 226 | + "execution_count": 6, |
226 | 227 | "id": "5e45d72c", |
227 | 228 | "metadata": {}, |
228 | 229 | "outputs": [ |
|
235 | 236 | " [ 0, 56]])" |
236 | 237 | ] |
237 | 238 | }, |
238 | | - "execution_count": 20, |
| 239 | + "execution_count": 6, |
239 | 240 | "metadata": {}, |
240 | 241 | "output_type": "execute_result" |
241 | 242 | } |
|
256 | 257 | }, |
257 | 258 | { |
258 | 259 | "cell_type": "code", |
259 | | - "execution_count": 6, |
| 260 | + "execution_count": 7, |
260 | 261 | "id": "79663447", |
261 | 262 | "metadata": {}, |
262 | 263 | "outputs": [], |
263 | 264 | "source": [ |
| 265 | + "@njit(fastmath={\"nnan\", \"nsz\", \"arcp\", \"contract\", \"afn\", \"reassoc\"})\n", |
264 | 266 | "def _backward_process(\n", |
265 | 267 | " T, \n", |
266 | 268 | " m, \n", |
|
318 | 320 | " \"\"\"\n", |
319 | 321 | " nn_distance = np.inf\n", |
320 | 322 | " for (start, stop) in chunks_range:\n", |
321 | | - " QT = core.sliding_dot_product(\n", |
| 323 | + " QT = core._sliding_dot_product(\n", |
322 | 324 | " T[query_idx : query_idx + m], \n", |
323 | 325 | " T[start : stop],\n", |
324 | 326 | " )\n", |
|
345 | 347 | }, |
346 | 348 | { |
347 | 349 | "cell_type": "code", |
348 | | - "execution_count": 21, |
| 350 | + "execution_count": 8, |
349 | 351 | "id": "c76317b5", |
350 | 352 | "metadata": {}, |
351 | 353 | "outputs": [], |
352 | 354 | "source": [ |
| 355 | + "@njit(fastmath={\"nnan\", \"nsz\", \"arcp\", \"contract\", \"afn\", \"reassoc\"})\n", |
353 | 356 | "def _foreward_process(\n", |
354 | 357 | " T, \n", |
355 | 358 | " m, \n", |
|
404 | 407 | " stop = min(start + lookahead, len(T))\n", |
405 | 408 | " \n", |
406 | 409 | " if stop - start >= m:\n", |
407 | | - " QT = core.sliding_dot_product(T[query_idx : query_idx + m], T[start : stop])\n", |
| 410 | + " QT = core._sliding_dot_product(T[query_idx : query_idx + m], T[start : stop])\n", |
408 | 411 | " D = core._mass(\n", |
409 | 412 | " T[query_idx : query_idx + m],\n", |
410 | 413 | " T[start : stop],\n", |
|
424 | 427 | }, |
425 | 428 | { |
426 | 429 | "cell_type": "code", |
427 | | - "execution_count": 32, |
| 430 | + "execution_count": 9, |
428 | 431 | "id": "769bddad", |
429 | 432 | "metadata": {}, |
430 | 433 | "outputs": [], |
|
512 | 515 | }, |
513 | 516 | { |
514 | 517 | "cell_type": "code", |
515 | | - "execution_count": 23, |
| 518 | + "execution_count": 10, |
516 | 519 | "id": "2cfbc771", |
517 | 520 | "metadata": {}, |
518 | 521 | "outputs": [], |
|
527 | 530 | }, |
528 | 531 | { |
529 | 532 | "cell_type": "code", |
530 | | - "execution_count": 24, |
| 533 | + "execution_count": 11, |
531 | 534 | "id": "a935f31f", |
532 | 535 | "metadata": {}, |
533 | 536 | "outputs": [ |
|
537 | 540 | "text": [ |
538 | 541 | "discord_dist: 8.500883427933504\n", |
539 | 542 | "discord_index: 209\n", |
540 | | - "running time [sec]: 4.881464958190918\n" |
| 543 | + "running time [sec]: 4.886792898178101\n" |
541 | 544 | ] |
542 | 545 | } |
543 | 546 | ], |
|
557 | 560 | }, |
558 | 561 | { |
559 | 562 | "cell_type": "code", |
560 | | - "execution_count": 25, |
| 563 | + "execution_count": 12, |
561 | 564 | "id": "2b461592", |
562 | 565 | "metadata": {}, |
563 | 566 | "outputs": [ |
|
567 | 570 | "text": [ |
568 | 571 | "discord_dist: 8.500883427933504\n", |
569 | 572 | "discord_index: 209\n", |
570 | | - "running time [sec]: 2.2210960388183594\n" |
| 573 | + "running time [sec]: 0.4022231101989746\n" |
571 | 574 | ] |
572 | 575 | } |
573 | 576 | ], |
|
596 | 599 | }, |
597 | 600 | { |
598 | 601 | "cell_type": "code", |
599 | | - "execution_count": 26, |
| 602 | + "execution_count": 13, |
600 | 603 | "id": "d8e9fa63", |
601 | 604 | "metadata": {}, |
602 | 605 | "outputs": [], |
|
611 | 614 | }, |
612 | 615 | { |
613 | 616 | "cell_type": "code", |
614 | | - "execution_count": 27, |
| 617 | + "execution_count": 14, |
615 | 618 | "id": "263bca9c", |
616 | 619 | "metadata": {}, |
617 | 620 | "outputs": [ |
|
621 | 624 | "text": [ |
622 | 625 | "discord_dist: 7.606279752022369\n", |
623 | 626 | "discord_index: 8109\n", |
624 | | - "running time [sec]: 4.996989965438843\n" |
| 627 | + "running time [sec]: 5.08968710899353\n" |
625 | 628 | ] |
626 | 629 | } |
627 | 630 | ], |
|
642 | 645 | }, |
643 | 646 | { |
644 | 647 | "cell_type": "code", |
645 | | - "execution_count": 28, |
| 648 | + "execution_count": 15, |
646 | 649 | "id": "78d09bda", |
647 | 650 | "metadata": {}, |
648 | 651 | "outputs": [ |
|
652 | 655 | "text": [ |
653 | 656 | "discord_dist: 7.606279752022363\n", |
654 | 657 | "discord_index: 8109\n", |
655 | | - "running time [sec]: 6.67956805229187\n" |
| 658 | + "running time [sec]: 2.9500508308410645\n" |
656 | 659 | ] |
657 | 660 | } |
658 | 661 | ], |
|
681 | 684 | }, |
682 | 685 | { |
683 | 686 | "cell_type": "code", |
684 | | - "execution_count": 33, |
| 687 | + "execution_count": 16, |
685 | 688 | "id": "6d64f488", |
686 | 689 | "metadata": {}, |
687 | 690 | "outputs": [], |
|
696 | 699 | }, |
697 | 700 | { |
698 | 701 | "cell_type": "code", |
699 | | - "execution_count": 34, |
| 702 | + "execution_count": 17, |
700 | 703 | "id": "159e03dc", |
701 | 704 | "metadata": {}, |
702 | 705 | "outputs": [ |
|
706 | 709 | "text": [ |
707 | 710 | "discord_dist: 29.42331306408431\n", |
708 | 711 | "discord_index: 6110\n", |
709 | | - "running time [sec]: 5.483174085617065\n" |
| 712 | + "running time [sec]: 5.911180019378662\n" |
710 | 713 | ] |
711 | 714 | } |
712 | 715 | ], |
|
727 | 730 | }, |
728 | 731 | { |
729 | 732 | "cell_type": "code", |
730 | | - "execution_count": 35, |
| 733 | + "execution_count": 18, |
731 | 734 | "id": "9ef28e10", |
732 | 735 | "metadata": {}, |
733 | 736 | "outputs": [ |
|
737 | 740 | "text": [ |
738 | 741 | "discord_dist: 29.423313064084333\n", |
739 | 742 | "discord_index: 6110\n", |
740 | | - "running time [sec]: 55.60335397720337\n" |
| 743 | + "running time [sec]: 34.58638381958008\n" |
741 | 744 | ] |
742 | 745 | } |
743 | 746 | ], |
|
0 commit comments