Lecture 03准备:本实验的固定材料 · 实现代码
准备:本实验的固定材料 · 实现代码
按问题继续
同源参数的冻结/局部/全量/scratch与BN模式辨析
展开完整实现代码
source_state=torch.load(io.BytesIO(asset_bytes['cnn-plain-state.pt']),map_location='cpu',weights_only=True)
def make_cnn():
return nn.Sequential(OrderedDict([
('conv1',nn.Conv2d(1,8,3,padding=1)),('relu1',nn.ReLU()),('pool1',nn.MaxPool2d(2)),
('conv2',nn.Conv2d(8,16,3,padding=1)),('relu2',nn.ReLU()),('pool2',nn.MaxPool2d(2)),
('flatten',nn.Flatten()),('hidden',nn.Linear(784,32)),('relu3',nn.ReLU()),('logits',nn.Linear(32,10))]))
source_model=make_cnn();source_model.load_state_dict(source_state);source_model.eval()
assert sum(p.numel() for p in source_model.parameters())==26698
print('已读取独立包内的 26698 参数 CNN;PyTorch',torch.__version__)
print('当前模型 SHA-256:',model_sha256)