如下所示:
#获取模型权重
for k, v in model_2.state_dict().iteritems():
print("Layer {}".format(k))
print(v)
#获取模型权重
for layer in model_2.modules():
if isinstance(layer, nn.Linear):
print(layer.weight)
#将一个模型权重载入另一个模型
model = VGG(make_layers(cfg['E']), **kwargs)
if pretrained:
load = torch.load('/home/huangqk/.torch/models/vgg19-dcbb9e9d.pth')
load_state = {k: v for k, v in load.items() if k not in ['classifier.0.weight', 'classifier.0.bias', 'classifier.3.weight', 'classifier.3.bias', 'classifier.6.weight', 'classifier.6.bias']}
model_state = model.state_dict()
model_state.update(load_state)
model.load_state_dict(model_state)
return model
# 对特定层注入hook
def hook_layers(model):
def hook_function