|
49 | 49 | <link rel="search" title="Search" href="../../../search.html" /> |
50 | 50 | <meta name="viewport" content="width=device-width, initial-scale=1"/> |
51 | 51 | <meta name="docsearch:language" content="en"/> |
52 | | - <meta name="docbuild:last-update" content="Sep 30, 2025"/> |
| 52 | + <meta name="docbuild:last-update" content="Oct 13, 2025"/> |
53 | 53 | </head> |
54 | 54 |
|
55 | 55 |
|
@@ -403,6 +403,7 @@ <h1>Source code for c4dynamics.detectors.yolo3_opencv</h1><div class="highlight" |
403 | 403 | <span class="kn">from</span><span class="w"> </span><span class="nn">c4dynamics</span><span class="w"> </span><span class="kn">import</span> <span class="n">c4d</span> |
404 | 404 | <span class="kn">from</span><span class="w"> </span><span class="nn">c4dynamics</span><span class="w"> </span><span class="kn">import</span> <span class="n">pixelpoint</span> |
405 | 405 | <span class="kn">from</span><span class="w"> </span><span class="nn">typing</span><span class="w"> </span><span class="kn">import</span> <span class="n">Optional</span> |
| 406 | +<span class="kn">import</span><span class="w"> </span><span class="nn">importlib.resources</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">resources</span> |
406 | 407 |
|
407 | 408 | <span class="n">MODEL_SIZE</span> <span class="o">=</span> <span class="p">(</span><span class="mi">416</span><span class="p">,</span> <span class="mi">416</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span> |
408 | 409 |
|
@@ -616,18 +617,13 @@ <h1>Source code for c4dynamics.detectors.yolo3_opencv</h1><div class="highlight" |
616 | 617 | <span class="n">weights_path</span> <span class="o">=</span> <span class="n">c4d</span><span class="o">.</span><span class="n">datasets</span><span class="o">.</span><span class="n">nn_model</span><span class="p">(</span><span class="s1">'YOLOv3'</span><span class="p">)</span> |
617 | 618 | <span class="n">errormsg</span> <span class="o">=</span> <span class="s2">"Try to clear the cache by 'c4dynamics.datasets.clear_cache()'"</span> |
618 | 619 |
|
619 | | - |
620 | | - |
621 | 620 | <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="n">weights_path</span><span class="p">):</span> |
622 | 621 | <span class="k">raise</span> <span class="ne">FileNotFoundError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"The file 'yolov3.weights' does not "</span> |
623 | 622 | <span class="sa">f</span><span class="s2">"exist in: '</span><span class="si">{</span><span class="n">weights_path</span><span class="si">}</span><span class="s2">'. </span><span class="si">{</span><span class="n">errormsg</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> |
624 | 623 |
|
625 | | - |
626 | | - <span class="n">cfg_path</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="vm">__file__</span><span class="p">),</span> <span class="s1">'yolov3.cfg'</span><span class="p">)</span> |
627 | | - <span class="c1"># cfg_path = 'yolov3.cfg'</span> |
628 | | - <span class="c1"># coconames = os.path.join(yolodir, 'coco.names')</span> |
629 | | - |
630 | | - <span class="bp">self</span><span class="o">.</span><span class="n">net</span> <span class="o">=</span> <span class="n">cv2</span><span class="o">.</span><span class="n">dnn</span><span class="o">.</span><span class="n">readNetFromDarknet</span><span class="p">(</span><span class="n">cfg_path</span><span class="p">,</span> <span class="n">weights_path</span><span class="p">)</span> |
| 624 | + <span class="k">with</span> <span class="n">resources</span><span class="o">.</span><span class="n">path</span><span class="p">(</span><span class="s1">'c4dynamics.detectors'</span><span class="p">,</span> <span class="s1">'yolov3.cfg'</span><span class="p">)</span> <span class="k">as</span> <span class="n">cfgpath</span><span class="p">:</span> |
| 625 | + <span class="bp">self</span><span class="o">.</span><span class="n">net</span> <span class="o">=</span> <span class="n">cv2</span><span class="o">.</span><span class="n">dnn</span><span class="o">.</span><span class="n">readNetFromDarknet</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">cfgpath</span><span class="p">),</span> <span class="n">weights_path</span><span class="p">)</span> |
| 626 | + |
631 | 627 | <span class="bp">self</span><span class="o">.</span><span class="n">net</span><span class="o">.</span><span class="n">setPreferableBackend</span><span class="p">(</span><span class="n">cv2</span><span class="o">.</span><span class="n">dnn</span><span class="o">.</span><span class="n">DNN_BACKEND_OPENCV</span><span class="p">)</span> |
632 | 628 | <span class="n">ln</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">net</span><span class="o">.</span><span class="n">getLayerNames</span><span class="p">()</span> |
633 | 629 | <span class="bp">self</span><span class="o">.</span><span class="n">ln</span> <span class="o">=</span> <span class="p">[</span><span class="n">ln</span><span class="p">[</span><span class="n">i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">net</span><span class="o">.</span><span class="n">getUnconnectedOutLayers</span><span class="p">()]</span> |
@@ -1064,26 +1060,6 @@ <h1>Source code for c4dynamics.detectors.yolo3_opencv</h1><div class="highlight" |
1064 | 1060 |
|
1065 | 1061 | <span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s2">"__main__"</span><span class="p">:</span> |
1066 | 1062 |
|
1067 | | -<span class="c1"># import doctest, contextlib</span> |
1068 | | -<span class="c1"># from c4dynamics import IgnoreOutputChecker, cprint</span> |
1069 | | - |
1070 | | -<span class="c1"># # Register the custom OutputChecker</span> |
1071 | | -<span class="c1"># doctest.OutputChecker = IgnoreOutputChecker</span> |
1072 | | - |
1073 | | -<span class="c1"># tofile = False </span> |
1074 | | -<span class="c1"># optionflags = doctest.FAIL_FAST</span> |
1075 | | - |
1076 | | -<span class="c1"># if tofile: </span> |
1077 | | -<span class="c1"># with open(os.path.join('tests', '_out', 'output.txt'), 'w') as f:</span> |
1078 | | -<span class="c1"># with contextlib.redirect_stdout(f), contextlib.redirect_stderr(f):</span> |
1079 | | -<span class="c1"># result = doctest.testmod(optionflags = optionflags) </span> |
1080 | | -<span class="c1"># else: </span> |
1081 | | -<span class="c1"># result = doctest.testmod(optionflags = optionflags)</span> |
1082 | | - |
1083 | | -<span class="c1"># if result.failed == 0:</span> |
1084 | | -<span class="c1"># cprint(os.path.basename(__file__) + ": all tests passed!", 'g')</span> |
1085 | | -<span class="c1"># else:</span> |
1086 | | -<span class="c1"># print(f"{result.failed}")</span> |
1087 | 1063 | <span class="kn">from</span><span class="w"> </span><span class="nn">c4dynamics</span><span class="w"> </span><span class="kn">import</span> <span class="n">rundoctests</span> |
1088 | 1064 | <span class="n">rundoctests</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">modules</span><span class="p">[</span><span class="vm">__name__</span><span class="p">])</span> |
1089 | 1065 |
|
@@ -1136,7 +1112,7 @@ <h1>Source code for c4dynamics.detectors.yolo3_opencv</h1><div class="highlight" |
1136 | 1112 |
|
1137 | 1113 | <div class="footer-item"> |
1138 | 1114 | <p class="last-updated"> |
1139 | | - Last updated on Sep 30, 2025. |
| 1115 | + Last updated on Oct 13, 2025. |
1140 | 1116 | <br/> |
1141 | 1117 | </p> |
1142 | 1118 | </div> |
|
0 commit comments