pytorch 修改预训练model实例

时间:2021-09-10 00:24:37

我就废话不多说了,直接上代码吧!

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Net(nn.Module):
 def __init__(self , model):
  super(Net, self).__init__()
  #取掉model的后两层
  self.resnet_layer = nn.Sequential(*list(model.children())[:-2])
  self.transion_layer = nn.ConvTranspose2d(2048, 2048, kernel_size=14, stride=3)
  self.pool_layer = nn.MaxPool2d(32)
  self.Linear_layer = nn.Linear(2048, 8)
  
 def forward(self, x):
  x = self.resnet_layer(x)
  x = self.transion_layer(x)
  x = self.pool_layer(x)
  x = x.view(x.size(0), -1)
  x = self.Linear_layer(x)
  return x
?
1
2
resnet = models.resnet50(pretrained=True)
model = Net(resnet)

以上这篇pytorch 修改预训练model实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/whut_ldz/article/details/78874977