Встречается на собеседованиях • сегодня
Как построить модель для классификации изображений на бинарной маске с квадратами, кругами и треугольниками
Для классификации изображений с бинарными масками можно использовать CNN (свёрточные нейронные сети). Вот пример кода на PyTorch:
python
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import DataLoader, Dataset
class SimpleCNN(nn.Module):
def __init__(self, num_classes=3):
super().__init__()
self.conv1 = nn.Conv2d(1, 16, kernel_size=3, stride=1, padding=1)
self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1)
self.fc = nn.Linear(32 * 64 * 64, num_classes) # Предполагаем размер 64x64
def forward(self, x):
x = torch.relu(self.conv1(x))
x = torch.max_pool2d(x, 2)
x = torch.relu(self.conv2(x))
x = torch.max_pool2d(x, 2)
x = x.view(x.size(0), -1)
return self.fc(x)
model = SimpleCNN()
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())
text
Ключевые моменты:
1. Используйте бинарные маски (1 канал) как вход
2. Добавьте аугментации (повороты, сдвиги) для улучшения обобщения
3. Для простых форм может хватить 2-3 свёрточных слоёв
4. Размер выхода равен количеству классов (3 в данном случае)
Для более сложных случаев рассмотрите предобученные архитектуры типа ResNet.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы