Если вы не хотите изменять выходные данные классификатора (т. Е. Количество классов), то вы можете просто продолжить обучение модели с новыми образцами изображений, предполагая, что они преобразуются в ту же форму, что и предварительно обученная модель.принимает.
С другой стороны, если вы хотите изменить количество классов в предварительно обученной модели, вы можете заменить последний полностью связанный слой новым и обучить только этот конкретный слой на новых выборках.Вот пример кода для этого случая из заметок о механике PyTorch :
model = torchvision.models.resnet18(pretrained=True)
for param in model.parameters():
param.requires_grad = False
# Replace the last fully-connected layer
# Parameters of newly constructed modules have requires_grad=True by default
model.fc = nn.Linear(512, 100)
# Optimize only the classifier
optimizer = optim.SGD(model.fc.parameters(), lr=1e-2, momentum=0.9)