{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"活动 B：队列身份与参数更新分开看 · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.md","pages":[{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","unit":"活动 B：队列身份与参数更新分开看 · 实现代码","unitId":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","chapter":"course","number":1}],"aliases":[{"oldId":"b-286f709123cab0c0f4240a24","targetId":"b-286f709123cab0c0f4240a24","page":"reading-opening","operation":"move","beforeSHA256":"343aaa499ee36d5531eab9b8b2e10a88939c1d9efb4bb1251925f2c15e332b89","afterSHA256":"343aaa499ee36d5531eab9b8b2e10a88939c1d9efb4bb1251925f2c15e332b89","reason":"Same source body in authored semantic page"},{"oldId":"b-c85edbe5ed81e2d4e3616218","targetId":"b-c85edbe5ed81e2d4e3616218","page":"reading-opening","operation":"move","beforeSHA256":"40b329ee5baa4dff38721d62994afb25b79f8278cf6c4eb6222f6ad1fd6fb508","afterSHA256":"40b329ee5baa4dff38721d62994afb25b79f8278cf6c4eb6222f6ad1fd6fb508","reason":"Same source body in authored semantic page"},{"oldId":"b-cc571986379a62a9e5037f99","targetId":"b-cc571986379a62a9e5037f99","page":"reading-opening","operation":"move","beforeSHA256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","afterSHA256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","reason":"Same source body in authored semantic page"},{"oldId":"b-47d14129ae2885c2a3bceb46","targetId":"b-47d14129ae2885c2a3bceb46","page":"reading-opening","operation":"move","beforeSHA256":"e5185ec67dda4a18681db2d55dc5cbe0c312c9a5519949e3ded12e96d49c997f","afterSHA256":"e5185ec67dda4a18681db2d55dc5cbe0c312c9a5519949e3ded12e96d49c997f","reason":"Same source body in authored semantic page"},{"oldId":"b-35bc6b8907dd5624bb6cccbe","targetId":"b-35bc6b8907dd5624bb6cccbe","page":"reading-opening","operation":"move","beforeSHA256":"f2be5936c33e2934bcc39c01e35874c5c8d3084b103ed6d0dcafa947f60f0543","afterSHA256":"f2be5936c33e2934bcc39c01e35874c5c8d3084b103ed6d0dcafa947f60f0543","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-286f709123cab0c0f4240a24","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html#b-286f709123cab0c0f4240a24","content":"[CLS 01 · 学习信号、表示与迁移](/course/notebooks/fb4365d604974dd19df492cb22516e44.html)","sha256":"343aaa499ee36d5531eab9b8b2e10a88939c1d9efb4bb1251925f2c15e332b89","chapter":{"id":"course","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"unit":{"id":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"page":{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","number":1},"sectionTitle":"活动 B：队列身份与参数更新分开看 · 实现代码","currentQuestion":"活动 B：队列身份与参数更新分开看 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-c85edbe5ed81e2d4e3616218","prerequisites":[],"relatedBlocks":[]},{"id":"b-c85edbe5ed81e2d4e3616218","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html#b-c85edbe5ed81e2d4e3616218","content":"# 活动 B：队列身份与参数更新分开看 · 实现代码","sha256":"40b329ee5baa4dff38721d62994afb25b79f8278cf6c4eb6222f6ad1fd6fb508","chapter":{"id":"course","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"unit":{"id":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"page":{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","number":1},"sectionTitle":"活动 B：队列身份与参数更新分开看 · 实现代码","currentQuestion":"活动 B：队列身份与参数更新分开看 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-286f709123cab0c0f4240a24","nextBlock":"b-cc571986379a62a9e5037f99","prerequisites":[{"id":"b-286f709123cab0c0f4240a24","url":"#b-286f709123cab0c0f4240a24","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-cc571986379a62a9e5037f99","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html#b-cc571986379a62a9e5037f99","content":"主线阅读与优先实验","sha256":"42cba31deccba2a350b9b23bd0ca1dcaa4c4c5cb9d35c773e1fcb89124788ccd","chapter":{"id":"course","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"unit":{"id":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"page":{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","number":1},"sectionTitle":"活动 B：队列身份与参数更新分开看 · 实现代码","currentQuestion":"活动 B：队列身份与参数更新分开看 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-c85edbe5ed81e2d4e3616218","nextBlock":"b-47d14129ae2885c2a3bceb46","prerequisites":[{"id":"b-c85edbe5ed81e2d4e3616218","url":"#b-c85edbe5ed81e2d4e3616218","role":"section-title"},{"id":"b-286f709123cab0c0f4240a24","url":"#b-286f709123cab0c0f4240a24","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-47d14129ae2885c2a3bceb46","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html#b-47d14129ae2885c2a3bceb46","content":"标签供给、文本目标接口、视图/队列/MAE图与表示迁移证据","sha256":"e5185ec67dda4a18681db2d55dc5cbe0c312c9a5519949e3ded12e96d49c997f","chapter":{"id":"course","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"unit":{"id":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"page":{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","number":1},"sectionTitle":"活动 B：队列身份与参数更新分开看 · 实现代码","currentQuestion":"活动 B：队列身份与参数更新分开看 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-cc571986379a62a9e5037f99","nextBlock":"b-35bc6b8907dd5624bb6cccbe","prerequisites":[{"id":"b-c85edbe5ed81e2d4e3616218","url":"#b-c85edbe5ed81e2d4e3616218","role":"section-title"},{"id":"b-286f709123cab0c0f4240a24","url":"#b-286f709123cab0c0f4240a24","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-35bc6b8907dd5624bb6cccbe","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70.html#b-35bc6b8907dd5624bb6cccbe","content":"```\n# 独立 CPU 机制；追踪特征身份，不进行图像模型训练。\nfrom collections import deque\nqueue = deque(['a0','a1','b0','b1','c0','c1','d0','d1'], maxlen=8)\nm = 0.9\nkey_theta = [0.0,2.0]\nquery_theta = [2.0,4.0]\nprint('更新前:', list(queue))\nfor batch in (['e0','e1'], ['f0','f1']):\n    key_theta = [m*k+(1-m)*q for k,q in zip(key_theta,query_theta)]\n    queue.extend(batch)\n    print('加入',batch,'→',list(queue),'key参数',[round(x,4) for x in key_theta])\nassert list(queue)==['c0','c1','d0','d1','e0','e1','f0','f1']\nassert all(abs(a-b)<1e-12 for a,b in zip(key_theta,[0.38,2.38]))\n```","sha256":"f2be5936c33e2934bcc39c01e35874c5c8d3084b103ed6d0dcafa947f60f0543","chapter":{"id":"course","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"unit":{"id":"notebook-blocks/f1ec258c1fdf4a93a17b3e1df63f5a70","title":"活动 B：队列身份与参数更新分开看 · 实现代码"},"page":{"id":"reading-opening","title":"活动 B：队列身份与参数更新分开看 · 实现代码","number":1},"sectionTitle":"活动 B：队列身份与参数更新分开看 · 实现代码","currentQuestion":"活动 B：队列身份与参数更新分开看 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-47d14129ae2885c2a3bceb46","nextBlock":null,"prerequisites":[{"id":"b-c85edbe5ed81e2d4e3616218","url":"#b-c85edbe5ed81e2d4e3616218","role":"section-title"},{"id":"b-286f709123cab0c0f4240a24","url":"#b-286f709123cab0c0f4240a24","role":"problem-context"}],"relatedBlocks":[]}]}
