{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.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/64ada4187bce4109b4173d43c262ff0c.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.md","pages":[{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","unit":"预处理和两条编码支路到底做了什么？ · 实现代码","unitId":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","chapter":"course","number":1}],"aliases":[{"oldId":"b-e7b0a49f8fdc0ac560b611e8","targetId":"b-e7b0a49f8fdc0ac560b611e8","page":"reading-opening","operation":"move","beforeSHA256":"b097cc692a4f43c3eeba08ce9c2e73c631f1bad298a5fb1dec9efa967315dac3","afterSHA256":"b097cc692a4f43c3eeba08ce9c2e73c631f1bad298a5fb1dec9efa967315dac3","reason":"Same source body in authored semantic page"},{"oldId":"b-7639d035ea82e7133a76a938","targetId":"b-7639d035ea82e7133a76a938","page":"reading-opening","operation":"move","beforeSHA256":"600895febb32ffc7b61b8c205fa369da523731a9afa52ea3380c0576790fd452","afterSHA256":"600895febb32ffc7b61b8c205fa369da523731a9afa52ea3380c0576790fd452","reason":"Same source body in authored semantic page"},{"oldId":"b-e58ae1c2a0cd0331eaeab214","targetId":"b-e58ae1c2a0cd0331eaeab214","page":"reading-opening","operation":"move","beforeSHA256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","afterSHA256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","reason":"Same source body in authored semantic page"},{"oldId":"b-585e2a524e1ff9d52dacfa06","targetId":"b-585e2a524e1ff9d52dacfa06","page":"reading-opening","operation":"move","beforeSHA256":"90e8ba62b9af4bedd5be3a2559568519f4df7a42b13048f81039496efd45dea2","afterSHA256":"90e8ba62b9af4bedd5be3a2559568519f4df7a42b13048f81039496efd45dea2","reason":"Same source body in authored semantic page"},{"oldId":"b-6f205725a06ab1a81ed2f11c","targetId":"b-6f205725a06ab1a81ed2f11c","page":"reading-opening","operation":"move","beforeSHA256":"dcb8e8d813addd004512eb521afca8b20bd31d80bae379d10f6f8cbaf5ab78ea","afterSHA256":"dcb8e8d813addd004512eb521afca8b20bd31d80bae379d10f6f8cbaf5ab78ea","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-e7b0a49f8fdc0ac560b611e8","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.html#b-e7b0a49f8fdc0ac560b611e8","content":"[LAB 04 · CLIP：候选、提示与关系检验](/course/notebooks/0ba963931ddf4866b507b210d93a43bf.html)","sha256":"b097cc692a4f43c3eeba08ce9c2e73c631f1bad298a5fb1dec9efa967315dac3","chapter":{"id":"course","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"unit":{"id":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"page":{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","number":1},"sectionTitle":"预处理和两条编码支路到底做了什么？ · 实现代码","currentQuestion":"预处理和两条编码支路到底做了什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-7639d035ea82e7133a76a938","prerequisites":[],"relatedBlocks":[]},{"id":"b-7639d035ea82e7133a76a938","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.html#b-7639d035ea82e7133a76a938","content":"# 预处理和两条编码支路到底做了什么？ · 实现代码","sha256":"600895febb32ffc7b61b8c205fa369da523731a9afa52ea3380c0576790fd452","chapter":{"id":"course","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"unit":{"id":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"page":{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","number":1},"sectionTitle":"预处理和两条编码支路到底做了什么？ · 实现代码","currentQuestion":"预处理和两条编码支路到底做了什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-e7b0a49f8fdc0ac560b611e8","nextBlock":"b-e58ae1c2a0cd0331eaeab214","prerequisites":[{"id":"b-e7b0a49f8fdc0ac560b611e8","url":"#b-e7b0a49f8fdc0ac560b611e8","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-e58ae1c2a0cd0331eaeab214","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.html#b-e58ae1c2a0cd0331eaeab214","content":"主线阅读与优先实验","sha256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","chapter":{"id":"course","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"unit":{"id":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"page":{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","number":1},"sectionTitle":"预处理和两条编码支路到底做了什么？ · 实现代码","currentQuestion":"预处理和两条编码支路到底做了什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-7639d035ea82e7133a76a938","nextBlock":"b-585e2a524e1ff9d52dacfa06","prerequisites":[{"id":"b-7639d035ea82e7133a76a938","url":"#b-7639d035ea82e7133a76a938","role":"section-title"},{"id":"b-e7b0a49f8fdc0ac560b611e8","url":"#b-e7b0a49f8fdc0ac560b611e8","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-585e2a524e1ff9d52dacfa06","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.html#b-585e2a524e1ff9d52dacfa06","content":"真实CLIP输入/权重/分数、候选改动、四条件规则与独立关系推理","sha256":"90e8ba62b9af4bedd5be3a2559568519f4df7a42b13048f81039496efd45dea2","chapter":{"id":"course","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"unit":{"id":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"page":{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","number":1},"sectionTitle":"预处理和两条编码支路到底做了什么？ · 实现代码","currentQuestion":"预处理和两条编码支路到底做了什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-e58ae1c2a0cd0331eaeab214","nextBlock":"b-6f205725a06ab1a81ed2f11c","prerequisites":[{"id":"b-7639d035ea82e7133a76a938","url":"#b-7639d035ea82e7133a76a938","role":"section-title"},{"id":"b-e7b0a49f8fdc0ac560b611e8","url":"#b-e7b0a49f8fdc0ac560b611e8","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-6f205725a06ab1a81ed2f11c","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/64ada4187bce4109b4173d43c262ff0c.html#b-6f205725a06ab1a81ed2f11c","content":"```\n# 可读的核心路径。默认不再重算；缓存已经由完全相同路径生成。\n# 将 RUN_FRESH_CLIP 改为 True 前，按说明准备依赖和固定权重。\nRUN_FRESH_CLIP=False\nif RUN_FRESH_CLIP:\n    import subprocess\n    subprocess.run([sys.executable,str(RETRIEVAL_ROOT/'fetch_clip.py')],check=True)\n    subprocess.run([sys.executable,str(RETRIEVAL_ROOT/'run_clip_retrieval.py'),'--encode'],check=True)\nelse:\n    saved=json.loads((RETRIEVAL_ROOT/'cache/clip-results.json').read_text())\n    for arm,r in saved['arms'].items():\n        print(arm,list(zip(r['candidate_names'],np.round(r['cosine'],4),np.round(r['softmax'],4))))\n    print('保存结果的来源:',p['execution'],p['generated_at_utc'])\n\n```","sha256":"dcb8e8d813addd004512eb521afca8b20bd31d80bae379d10f6f8cbaf5ab78ea","chapter":{"id":"course","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"unit":{"id":"notebook-blocks/64ada4187bce4109b4173d43c262ff0c","title":"预处理和两条编码支路到底做了什么？ · 实现代码"},"page":{"id":"reading-opening","title":"预处理和两条编码支路到底做了什么？ · 实现代码","number":1},"sectionTitle":"预处理和两条编码支路到底做了什么？ · 实现代码","currentQuestion":"预处理和两条编码支路到底做了什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-585e2a524e1ff9d52dacfa06","nextBlock":null,"prerequisites":[{"id":"b-7639d035ea82e7133a76a938","url":"#b-7639d035ea82e7133a76a938","role":"section-title"},{"id":"b-e7b0a49f8fdc0ac560b611e8","url":"#b-e7b0a49f8fdc0ac560b611e8","role":"problem-context"}],"relatedBlocks":[]}]}
