之前在用預訓練的ResNet的模型進行遷移訓練時,是固定除最后一層的前面層權重,然后把全連接層輸出改為自己需要的數目,進行最后一層的訓練,那么現在假如想要只是把
最后一層的輸出改一下,不需要加載前面層的權重,方法如下:
model = torchvision.models.resnet18(pretrained=False) num_fc_ftr = model.fc.in_features model.fc = torch.nn.Linear(num_fc_ftr, 224) model = nn.DataParallel(model, device_ids=config.gpus).to(device)
首先模型結構是必須要傳入的,然后把最后一層的輸出改為自己所需的數目