Улучшить модель #12
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Для определения породы собак с использованием PyTorch можно использовать предобученные модели из библиотеки torchvision.models. Вот основные рекомендации:
Топ-5 моделей для задачи
EfficientNet (например, EfficientNet-B4)
Inception-v3
DenseNet201
MobileNet-v3 (Small/Large)
Рекомендации
Датасеты
Обучение
Пример полного кода
python
import torch
import torch.nn as nn
import torchvision.models as models
from torchvision import transforms
from torch.utils.data import DataLoader
Загрузка модели
model = models.resnet50(pretrained=True)
model.fc = nn.Linear(model.fc.in_features, 120) # 120 классов для Stanford Dogs
Аугментации и загрузка данных
train_transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
Предположим, что
dataset— ваш датасет (используйте ImageFolder)train_loader = DataLoader(dataset, batch_size=32, shuffle=True)
Обучение
optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)
criterion = nn.CrossEntropyLoss()
for epoch in range(10):
for images, labels in train_loader:
outputs = model(images)
loss = criterion(outputs, labels)
optimizer.zero_grad()
loss.backward()
optimizer.step()
Если требуется максимальная точность, выбирайте EfficientNet-B7 или ResNet152. Для баланса скорости и точности — ResNet50 или EfficientNet-B3.
рекомендациям последовал, но модель не менял.