{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"0. 先给原例子正确命名 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.md","pages":[{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","unit":"0. 先给原例子正确命名 · 实现代码","unitId":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","chapter":"course","number":1}],"aliases":[{"oldId":"b-c95416edc6148903b697bb84","targetId":"b-c95416edc6148903b697bb84","page":"reading-opening","operation":"move","beforeSHA256":"926fc2429c1a5c837765e5152b3b61fda31c10537785a439d49dec46e82a8536","afterSHA256":"926fc2429c1a5c837765e5152b3b61fda31c10537785a439d49dec46e82a8536","reason":"Same source body in authored semantic page"},{"oldId":"b-e28e7b4c295facfd65762e43","targetId":"b-e28e7b4c295facfd65762e43","page":"reading-opening","operation":"move","beforeSHA256":"a645d93498f4bbaf02e8adecd76d702e7371fab8a0fb0503f6334b8a3feed2fa","afterSHA256":"a645d93498f4bbaf02e8adecd76d702e7371fab8a0fb0503f6334b8a3feed2fa","reason":"Same source body in authored semantic page"},{"oldId":"b-3bedcd5bcff86a3f1062a9fc","targetId":"b-3bedcd5bcff86a3f1062a9fc","page":"reading-opening","operation":"move","beforeSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","afterSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","reason":"Same source body in authored semantic page"},{"oldId":"b-a6b20d66441ba52fee967bfd","targetId":"b-a6b20d66441ba52fee967bfd","page":"reading-opening","operation":"move","beforeSHA256":"5790b0afb52508f0174b1bc581f7847035a51c5c2a46e5c821bcd9d5d61bcbb0","afterSHA256":"5790b0afb52508f0174b1bc581f7847035a51c5c2a46e5c821bcd9d5d61bcbb0","reason":"Same source body in authored semantic page"},{"oldId":"b-0187eba1a85b2e52d3d4fa59","targetId":"b-0187eba1a85b2e52d3d4fa59","page":"reading-opening","operation":"move","beforeSHA256":"c87a6ce586309b464659eaf822eb0ff4d176127095e5ad36a39eed58c5928689","afterSHA256":"c87a6ce586309b464659eaf822eb0ff4d176127095e5ad36a39eed58c5928689","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-c95416edc6148903b697bb84","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html#b-c95416edc6148903b697bb84","content":"[LAB 14 · 图像问答：视觉条件与问题先验](/course/notebooks/11d9f74871544a77b42024a9fe06b81a.html)","sha256":"926fc2429c1a5c837765e5152b3b61fda31c10537785a439d49dec46e82a8536","chapter":{"id":"course","title":"0. 先给原例子正确命名 · 实现代码"},"unit":{"id":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","title":"0. 先给原例子正确命名 · 实现代码"},"page":{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","number":1},"sectionTitle":"0. 先给原例子正确命名 · 实现代码","currentQuestion":"0. 先给原例子正确命名 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-e28e7b4c295facfd65762e43","prerequisites":[],"relatedBlocks":[]},{"id":"b-e28e7b4c295facfd65762e43","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html#b-e28e7b4c295facfd65762e43","content":"# 0. 先给原例子正确命名 · 实现代码","sha256":"a645d93498f4bbaf02e8adecd76d702e7371fab8a0fb0503f6334b8a3feed2fa","chapter":{"id":"course","title":"0. 先给原例子正确命名 · 实现代码"},"unit":{"id":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","title":"0. 先给原例子正确命名 · 实现代码"},"page":{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","number":1},"sectionTitle":"0. 先给原例子正确命名 · 实现代码","currentQuestion":"0. 先给原例子正确命名 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-c95416edc6148903b697bb84","nextBlock":"b-3bedcd5bcff86a3f1062a9fc","prerequisites":[{"id":"b-c95416edc6148903b697bb84","url":"#b-c95416edc6148903b697bb84","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-3bedcd5bcff86a3f1062a9fc","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html#b-3bedcd5bcff86a3f1062a9fc","content":"按问题继续","sha256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","chapter":{"id":"course","title":"0. 先给原例子正确命名 · 实现代码"},"unit":{"id":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","title":"0. 先给原例子正确命名 · 实现代码"},"page":{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","number":1},"sectionTitle":"0. 先给原例子正确命名 · 实现代码","currentQuestion":"0. 先给原例子正确命名 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-e28e7b4c295facfd65762e43","nextBlock":"b-a6b20d66441ba52fee967bfd","prerequisites":[{"id":"b-e28e7b4c295facfd65762e43","url":"#b-e28e7b4c295facfd65762e43","role":"section-title"},{"id":"b-c95416edc6148903b697bb84","url":"#b-c95416edc6148903b697bb84","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-a6b20d66441ba52fee967bfd","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html#b-a6b20d66441ba52fee967bfd","content":"RGB+问题输入、question-only对照、同图换问与同问换图","sha256":"5790b0afb52508f0174b1bc581f7847035a51c5c2a46e5c821bcd9d5d61bcbb0","chapter":{"id":"course","title":"0. 先给原例子正确命名 · 实现代码"},"unit":{"id":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","title":"0. 先给原例子正确命名 · 实现代码"},"page":{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","number":1},"sectionTitle":"0. 先给原例子正确命名 · 实现代码","currentQuestion":"0. 先给原例子正确命名 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-3bedcd5bcff86a3f1062a9fc","nextBlock":"b-0187eba1a85b2e52d3d4fa59","prerequisites":[{"id":"b-e28e7b4c295facfd65762e43","url":"#b-e28e7b4c295facfd65762e43","role":"section-title"},{"id":"b-c95416edc6148903b697bb84","url":"#b-c95416edc6148903b697bb84","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-0187eba1a85b2e52d3d4fa59","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/ee681c33c81c4de98ecea27d981ddb73.html#b-0187eba1a85b2e52d3d4fa59","content":"```\n# Detached readonly runs write only to an isolated ephemeral directory.\nimport os, tempfile\n_LAB_WORKDIR = tempfile.mkdtemp(prefix=\"lecture03-lab14-\")\nos.chdir(_LAB_WORKDIR)\nprint(\"ephemeral workdir:\", _LAB_WORKDIR)\n\ncases=[{'cups':2,'left':'red','q':'count'},{'cups':2,'left':'red','q':'left-color'},{'cups':2,'left':'blue','q':'left-color'}]\nfor c in cases:\n    prior='2' if c['q']=='count' else 'red'\n    oracle=str(c['cups']) if c['q']=='count' else c['left']\n    print(c,'question-only rule',prior,'known-attribute oracle',oracle)\n# No image was read above. The learned visual path begins below.\n```","sha256":"c87a6ce586309b464659eaf822eb0ff4d176127095e5ad36a39eed58c5928689","chapter":{"id":"course","title":"0. 先给原例子正确命名 · 实现代码"},"unit":{"id":"notebook-blocks/ee681c33c81c4de98ecea27d981ddb73","title":"0. 先给原例子正确命名 · 实现代码"},"page":{"id":"reading-opening","title":"0. 先给原例子正确命名 · 实现代码","number":1},"sectionTitle":"0. 先给原例子正确命名 · 实现代码","currentQuestion":"0. 先给原例子正确命名 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-a6b20d66441ba52fee967bfd","nextBlock":null,"prerequisites":[{"id":"b-e28e7b4c295facfd65762e43","url":"#b-e28e7b4c295facfd65762e43","role":"section-title"},{"id":"b-c95416edc6148903b697bb84","url":"#b-c95416edc6148903b697bb84","role":"problem-context"}],"relatedBlocks":[]}]}
