{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.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/97d6413de80249e1986f2ac8fa35a0db.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.md","pages":[{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","unit":"准备：本实验的固定材料 · 实现代码","unitId":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","chapter":"course","number":1}],"aliases":[{"oldId":"b-c1b9b41ad5cbd9a02bf8aef0","targetId":"b-c1b9b41ad5cbd9a02bf8aef0","page":"reading-opening","operation":"move","beforeSHA256":"f107bd31e942a5cf605f3183c89731efbb5349a4bf8c063087e5d29bebde50b5","afterSHA256":"f107bd31e942a5cf605f3183c89731efbb5349a4bf8c063087e5d29bebde50b5","reason":"Same source body in authored semantic page"},{"oldId":"b-4cd82a632ac38f60f7c7e4ee","targetId":"b-4cd82a632ac38f60f7c7e4ee","page":"reading-opening","operation":"move","beforeSHA256":"5921c0537ec13d0d8bedb07c2d73686e3eec06ccda769319a707c32881e44682","afterSHA256":"5921c0537ec13d0d8bedb07c2d73686e3eec06ccda769319a707c32881e44682","reason":"Same source body in authored semantic page"},{"oldId":"b-884f45e0ed6d8412be993651","targetId":"b-884f45e0ed6d8412be993651","page":"reading-opening","operation":"move","beforeSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","afterSHA256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","reason":"Same source body in authored semantic page"},{"oldId":"b-b634efda4eb0ae22854f6cc4","targetId":"b-b634efda4eb0ae22854f6cc4","page":"reading-opening","operation":"move","beforeSHA256":"5f1e2e7a35a6afaca427b0b03cfec448b4aac4324b16108f14671986a2d98b38","afterSHA256":"5f1e2e7a35a6afaca427b0b03cfec448b4aac4324b16108f14671986a2d98b38","reason":"Same source body in authored semantic page"},{"oldId":"b-254954dad3fb4ad92d3a1aad","targetId":"b-254954dad3fb4ad92d3a1aad","page":"reading-opening","operation":"move","beforeSHA256":"4e8403f272270dbf8b62b8561945ef255842c8d5a118f15592e3f54af0326e72","afterSHA256":"4e8403f272270dbf8b62b8561945ef255842c8d5a118f15592e3f54af0326e72","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-c1b9b41ad5cbd9a02bf8aef0","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.html#b-c1b9b41ad5cbd9a02bf8aef0","content":"[LAB 02 · 参数迁移：冻结、局部与全量微调](/course/notebooks/4bd450d54870432db91c80a4df563b8e.html)","sha256":"f107bd31e942a5cf605f3183c89731efbb5349a4bf8c063087e5d29bebde50b5","chapter":{"id":"course","title":"准备：本实验的固定材料 · 实现代码"},"unit":{"id":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","title":"准备：本实验的固定材料 · 实现代码"},"page":{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","number":1},"sectionTitle":"准备：本实验的固定材料 · 实现代码","currentQuestion":"准备：本实验的固定材料 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-4cd82a632ac38f60f7c7e4ee","prerequisites":[],"relatedBlocks":[]},{"id":"b-4cd82a632ac38f60f7c7e4ee","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.html#b-4cd82a632ac38f60f7c7e4ee","content":"# 准备：本实验的固定材料 · 实现代码","sha256":"5921c0537ec13d0d8bedb07c2d73686e3eec06ccda769319a707c32881e44682","chapter":{"id":"course","title":"准备：本实验的固定材料 · 实现代码"},"unit":{"id":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","title":"准备：本实验的固定材料 · 实现代码"},"page":{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","number":1},"sectionTitle":"准备：本实验的固定材料 · 实现代码","currentQuestion":"准备：本实验的固定材料 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-c1b9b41ad5cbd9a02bf8aef0","nextBlock":"b-884f45e0ed6d8412be993651","prerequisites":[{"id":"b-c1b9b41ad5cbd9a02bf8aef0","url":"#b-c1b9b41ad5cbd9a02bf8aef0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-884f45e0ed6d8412be993651","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.html#b-884f45e0ed6d8412be993651","content":"按问题继续","sha256":"e91f24e4e4ca40e2099a0d81d30db6568f4bf2074b499eeee6e3959617bd97ac","chapter":{"id":"course","title":"准备：本实验的固定材料 · 实现代码"},"unit":{"id":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","title":"准备：本实验的固定材料 · 实现代码"},"page":{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","number":1},"sectionTitle":"准备：本实验的固定材料 · 实现代码","currentQuestion":"准备：本实验的固定材料 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-4cd82a632ac38f60f7c7e4ee","nextBlock":"b-b634efda4eb0ae22854f6cc4","prerequisites":[{"id":"b-4cd82a632ac38f60f7c7e4ee","url":"#b-4cd82a632ac38f60f7c7e4ee","role":"section-title"},{"id":"b-c1b9b41ad5cbd9a02bf8aef0","url":"#b-c1b9b41ad5cbd9a02bf8aef0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-b634efda4eb0ae22854f6cc4","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.html#b-b634efda4eb0ae22854f6cc4","content":"同源参数的冻结/局部/全量/scratch与BN模式辨析","sha256":"5f1e2e7a35a6afaca427b0b03cfec448b4aac4324b16108f14671986a2d98b38","chapter":{"id":"course","title":"准备：本实验的固定材料 · 实现代码"},"unit":{"id":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","title":"准备：本实验的固定材料 · 实现代码"},"page":{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","number":1},"sectionTitle":"准备：本实验的固定材料 · 实现代码","currentQuestion":"准备：本实验的固定材料 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-884f45e0ed6d8412be993651","nextBlock":"b-254954dad3fb4ad92d3a1aad","prerequisites":[{"id":"b-4cd82a632ac38f60f7c7e4ee","url":"#b-4cd82a632ac38f60f7c7e4ee","role":"section-title"},{"id":"b-c1b9b41ad5cbd9a02bf8aef0","url":"#b-c1b9b41ad5cbd9a02bf8aef0","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-254954dad3fb4ad92d3a1aad","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/97d6413de80249e1986f2ac8fa35a0db.html#b-254954dad3fb4ad92d3a1aad","content":"```\nsource_state=torch.load(io.BytesIO(asset_bytes['cnn-plain-state.pt']),map_location='cpu',weights_only=True)\ndef make_cnn():\n    return nn.Sequential(OrderedDict([\n      ('conv1',nn.Conv2d(1,8,3,padding=1)),('relu1',nn.ReLU()),('pool1',nn.MaxPool2d(2)),\n      ('conv2',nn.Conv2d(8,16,3,padding=1)),('relu2',nn.ReLU()),('pool2',nn.MaxPool2d(2)),\n      ('flatten',nn.Flatten()),('hidden',nn.Linear(784,32)),('relu3',nn.ReLU()),('logits',nn.Linear(32,10))]))\nsource_model=make_cnn();source_model.load_state_dict(source_state);source_model.eval()\nassert sum(p.numel() for p in source_model.parameters())==26698\nprint('已读取独立包内的 26698 参数 CNN；PyTorch',torch.__version__)\nprint('当前模型 SHA-256:',model_sha256)\n\n```","sha256":"4e8403f272270dbf8b62b8561945ef255842c8d5a118f15592e3f54af0326e72","chapter":{"id":"course","title":"准备：本实验的固定材料 · 实现代码"},"unit":{"id":"notebook-blocks/97d6413de80249e1986f2ac8fa35a0db","title":"准备：本实验的固定材料 · 实现代码"},"page":{"id":"reading-opening","title":"准备：本实验的固定材料 · 实现代码","number":1},"sectionTitle":"准备：本实验的固定材料 · 实现代码","currentQuestion":"准备：本实验的固定材料 · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-b634efda4eb0ae22854f6cc4","nextBlock":null,"prerequisites":[{"id":"b-4cd82a632ac38f60f7c7e4ee","url":"#b-4cd82a632ac38f60f7c7e4ee","role":"section-title"},{"id":"b-c1b9b41ad5cbd9a02bf8aef0","url":"#b-c1b9b41ad5cbd9a02bf8aef0","role":"problem-context"}],"relatedBlocks":[]}]}
