遷移學(xué)習(xí)是指將一個(gè)已經(jīng)訓(xùn)練好的模型的知識(shí)遷移到另一個(gè)相關(guān)任務(wù)上,以加快新任務(wù)的學(xué)習(xí)過程。在Torch中進(jìn)行遷移學(xué)習(xí)可以通過以下步驟實(shí)現(xiàn):
import torchvision.models as models
model = models.resnet18(pretrained=True)
import torch.nn as nn
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, num_classes)
for param in model.parameters():
param.requires_grad = False
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.001)
for epoch in range(num_epochs):
for inputs, labels in dataloader:
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
通過以上步驟,就可以在Torch中進(jìn)行遷移學(xué)習(xí),將已有模型的知識(shí)應(yīng)用到新的任務(wù)上。