{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"运行记录 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.md","pages":[{"id":"reading-opening","title":"运行记录 · 实现代码","unit":"运行记录 · 实现代码","unitId":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","chapter":"course","number":1}],"aliases":[{"oldId":"b-71567720febde98db74a0f89","targetId":"b-71567720febde98db74a0f89","page":"reading-opening","operation":"move","beforeSHA256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","afterSHA256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","reason":"Same source body in authored semantic page"},{"oldId":"b-5f43879b33f63560618a9669","targetId":"b-5f43879b33f63560618a9669","page":"reading-opening","operation":"move","beforeSHA256":"06b1578e3d06fac8e57cb1cef0751769194a8c9d4d2baaac2bab7a16a63bd65e","afterSHA256":"06b1578e3d06fac8e57cb1cef0751769194a8c9d4d2baaac2bab7a16a63bd65e","reason":"Same source body in authored semantic page"},{"oldId":"b-9b61d2b5d75ecadb97221630","targetId":"b-9b61d2b5d75ecadb97221630","page":"reading-opening","operation":"move","beforeSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","afterSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","reason":"Same source body in authored semantic page"},{"oldId":"b-287767abc2731a0e1d2214ba","targetId":"b-287767abc2731a0e1d2214ba","page":"reading-opening","operation":"move","beforeSHA256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","afterSHA256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","reason":"Same source body in authored semantic page"},{"oldId":"b-adfe4292b990463f6b655316","targetId":"b-adfe4292b990463f6b655316","page":"reading-opening","operation":"move","beforeSHA256":"1718e1bbf0c46a010b36c4464afbdce3baf82362119649cbefa63486b8b19683","afterSHA256":"1718e1bbf0c46a010b36c4464afbdce3baf82362119649cbefa63486b8b19683","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-71567720febde98db74a0f89","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html#b-71567720febde98db74a0f89","content":"[LAB 09 · 检测几何：框、匹配、NMS 与 AP](/course/notebooks/90d213b4e1e04c7e889ee6fc042b2358.html)","sha256":"9027342eb8430f11699811edb871aeb2e37b28e9f874a2aa48778e6bac2818b7","chapter":{"id":"course","title":"运行记录 · 实现代码"},"unit":{"id":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","title":"运行记录 · 实现代码"},"page":{"id":"reading-opening","title":"运行记录 · 实现代码","number":1},"sectionTitle":"运行记录 · 实现代码","currentQuestion":"运行记录 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-5f43879b33f63560618a9669","prerequisites":[],"relatedBlocks":[]},{"id":"b-5f43879b33f63560618a9669","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html#b-5f43879b33f63560618a9669","content":"# 运行记录 · 实现代码","sha256":"06b1578e3d06fac8e57cb1cef0751769194a8c9d4d2baaac2bab7a16a63bd65e","chapter":{"id":"course","title":"运行记录 · 实现代码"},"unit":{"id":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","title":"运行记录 · 实现代码"},"page":{"id":"reading-opening","title":"运行记录 · 实现代码","number":1},"sectionTitle":"运行记录 · 实现代码","currentQuestion":"运行记录 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-71567720febde98db74a0f89","nextBlock":"b-9b61d2b5d75ecadb97221630","prerequisites":[{"id":"b-71567720febde98db74a0f89","url":"#b-71567720febde98db74a0f89","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-9b61d2b5d75ecadb97221630","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html#b-9b61d2b5d75ecadb97221630","content":"并入相关学习路径","sha256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","chapter":{"id":"course","title":"运行记录 · 实现代码"},"unit":{"id":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","title":"运行记录 · 实现代码"},"page":{"id":"reading-opening","title":"运行记录 · 实现代码","number":1},"sectionTitle":"运行记录 · 实现代码","currentQuestion":"运行记录 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-5f43879b33f63560618a9669","nextBlock":"b-287767abc2731a0e1d2214ba","prerequisites":[{"id":"b-5f43879b33f63560618a9669","url":"#b-5f43879b33f63560618a9669","role":"section-title"},{"id":"b-71567720febde98db74a0f89","url":"#b-71567720febde98db74a0f89","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-287767abc2731a0e1d2214ba","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html#b-287767abc2731a0e1d2214ba","content":"固定框匹配、PR/AP、NMS误删相邻对象反例","sha256":"4e0de6d032a3765c60907de32f28cd988b659299663e842d319bdb0426243d78","chapter":{"id":"course","title":"运行记录 · 实现代码"},"unit":{"id":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","title":"运行记录 · 实现代码"},"page":{"id":"reading-opening","title":"运行记录 · 实现代码","number":1},"sectionTitle":"运行记录 · 实现代码","currentQuestion":"运行记录 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-9b61d2b5d75ecadb97221630","nextBlock":"b-adfe4292b990463f6b655316","prerequisites":[{"id":"b-5f43879b33f63560618a9669","url":"#b-5f43879b33f63560618a9669","role":"section-title"},{"id":"b-71567720febde98db74a0f89","url":"#b-71567720febde98db74a0f89","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-adfe4292b990463f6b655316","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7.html#b-adfe4292b990463f6b655316","content":"```\nartifact_names = [\"lab09.py\", \"notebook.json\", \"teaching.md\", \"results.json\",\n                  \"geometry.svg\", \"precision_recall.svg\", \"nms_tradeoff.svg\"]\nartifact_hashes = {name: hashlib.sha256((OUT / name).read_bytes()).hexdigest()\n                   for name in artifact_names if (OUT / name).exists()}\ninput_json = json.dumps({\"gt\": GT.tolist(), \"pred\": PRED.tolist(), \"scores\": SCORES.tolist(),\n                         \"nms_threshold\": NMS_THRESHOLD, \"eval_thresholds\": EVAL_THRESHOLDS},\n                        sort_keys=True, separators=(\",\", \":\"))\nmanifest = {\"notebook_id\": \"90d213b4e1e04c7e889ee6fc042b2358\",\n            \"notebook_name\": \"LAB 09 · 检测几何：框、匹配、NMS 与 AP\",\n            \"started_at_utc\": STARTED_AT, \"finished_at_utc\": datetime.now(timezone.utc).isoformat(),\n            \"elapsed_seconds\": time.perf_counter() - STARTED_CLOCK,\n            \"execution\": \"actual local Python execution\", \"status\": \"passed\",\n            \"command\": \"python lab09.py\", \"python_version\": platform.python_version(),\n            \"numpy_version\": np.__version__, \"input_sha256\": hashlib.sha256(input_json.encode()).hexdigest(),\n            \"sha256\": artifact_hashes, \"key_results\": {\"AP50\": baseline[\"AP50\"][\"ap\"],\n                \"AP75\": baseline[\"AP75\"][\"ap\"], \"nms_AP50\": after_nms[\"AP50\"][\"ap\"],\n                \"nms_AP75\": after_nms[\"AP75\"][\"ap\"], \"neighbor_nms_AP50\": neighbor_after[\"ap\"],\n                \"protocol_duplicate_AP50\": protocol_standard[\"ap\"],\n                \"alternative_best_unused_AP50\": alternative_ap}}\n(OUT / \"run.json\").write_text(json.dumps(manifest, ensure_ascii=False, indent=2), encoding=\"utf-8\")\nprint(\"Assertions: passed. Saved results.json, 3 SVG figures and run.json.\")\n```","sha256":"1718e1bbf0c46a010b36c4464afbdce3baf82362119649cbefa63486b8b19683","chapter":{"id":"course","title":"运行记录 · 实现代码"},"unit":{"id":"notebook-blocks/66bcd9627b4841bfbeed4228ff02efd7","title":"运行记录 · 实现代码"},"page":{"id":"reading-opening","title":"运行记录 · 实现代码","number":1},"sectionTitle":"运行记录 · 实现代码","currentQuestion":"运行记录 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-287767abc2731a0e1d2214ba","nextBlock":null,"prerequisites":[{"id":"b-5f43879b33f63560618a9669","url":"#b-5f43879b33f63560618a9669","role":"section-title"},{"id":"b-71567720febde98db74a0f89","url":"#b-71567720febde98db74a0f89","role":"problem-context"}],"relatedBlocks":[]}]}
