相关疑难解决方法(0)

如何在PyTorch中初始化权重?

如何在PyTorch中的网络中初始化权重和偏差(例如,使用He或Xavier初始化)?

python neural-network deep-learning pytorch

60
推荐指数
7
解决办法
8万
查看次数

如何从PyTorch的ResNet模型中删除最后一个FC层?

我正在使用PyTorch的ResNet152模型。我想从模型中删除最后一个FC层。这是我的代码:

from torchvision import datasets, transforms, models
model = models.resnet152(pretrained=True)
print(model)
Run Code Online (Sandbox Code Playgroud)

当我打印模型时,最后几行如下所示:

    (2):  Bottleneck(
      (conv1):  Conv2d(2048,  512,  kernel_size=(1,  1),  stride=(1,  1),  bias=False)
      (bn1):  BatchNorm2d(512,  eps=1e-05,  momentum=0.1,  affine=True,  track_running_stats=True)
      (conv2):  Conv2d(512,  512,  kernel_size=(3,  3),  stride=(1,  1),  padding=(1,  1),  bias=False)
      (bn2):  BatchNorm2d(512,  eps=1e-05,  momentum=0.1,  affine=True,  track_running_stats=True)
      (conv3):  Conv2d(512,  2048,  kernel_size=(1,  1),  stride=(1,  1),  bias=False)
      (bn3):  BatchNorm2d(2048,  eps=1e-05,  momentum=0.1,  affine=True,  track_running_stats=True)
      (relu):  ReLU(inplace)
    )
  )
  (avgpool):  AvgPool2d(kernel_size=7,  stride=1,  padding=0)
  (fc):  Linear(in_features=2048,  out_features=1000,  bias=True)
)
Run Code Online (Sandbox Code Playgroud)

我想从模型中删除最后一个fc层。

我在SO上找到了一个答案(如何在Pytorch中将预训练的FC层转换为CONV层),其中mexmex似乎提供了我正在寻找的答案:

list(model.modules()) # to …
Run Code Online (Sandbox Code Playgroud)

python resnet pytorch

8
推荐指数
3
解决办法
7375
查看次数

标签 统计

python ×2

pytorch ×2

deep-learning ×1

neural-network ×1

resnet ×1