问题场景:如果需要对网络中预定义好的层进行更改,可以采用这个方法。
解决方法:
首先,可以通过 print 命令输出网络的结构,找到想要更改的层,以resnet18为例:
print(torchvision.models.resnet18())
然后,就可以用下面的方法直接对指定层进行修改:
# 以删除为例,直接替换为空的 torch.nn.Sequential()
resnet.model.layer4[0].downsample = nn.Sequential()
问题场景:如果需要对网络中预定义好的层进行更改,可以采用这个方法。
解决方法:
首先,可以通过 print 命令输出网络的结构,找到想要更改的层,以resnet18为例:
print(torchvision.models.resnet18())
然后,就可以用下面的方法直接对指定层进行修改:
# 以删除为例,直接替换为空的 torch.nn.Sequential()
resnet.model.layer4[0].downsample = nn.Sequential()