我就廢話不多說了,直接上代碼吧!
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實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/whut_ldz/article/details/78874977