【发布时间】:2021-10-02 20:25:16
【问题描述】:
我正在 pytorch 中修改一个预训练的高效网络模型。我正在按顺序执行以下操作:
-
创建默认模型,加载 imagenet 权重。
-
然后,改变第一层的通道数,删除几层,增加几层。
from efficientnet_pytorch import EfficientNet
from efficientnet_pytorch.utils import Conv2dStaticSamePadding
PATH = "../input/efficientnet-pytorch/efficientnet-b0-08094119.pth"
model = EfficientNet.from_name('efficientnet-b0')
model.load_state_dict(torch.load(PATH))
# augment model with 4 channels
model._conv_stem = Conv2dStaticSamePadding(4, 32, kernel_size = (3,3), stride = (2,2),
bias = False, image_size = 512)
model._fc = torch.nn.Linear(in_features=1280, out_features=2, bias=True)
我的问题是:我加载的原始砝码会怎样?它会在那里还是所有模型都会被随机初始化?
【问题讨论】:
标签: machine-learning deep-learning neural-network pytorch