File size: 3,201 Bytes
dcd5e61 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
👟 Sneakers_Classification
Модель для классификации кроссовок с использованием сверточной нейронной сети на основе предобученного ResNet50. Проект реализован на PyTorch и обучается на кастомном датасете изображений различных моделей кроссовок.
📂 Описание проекта
Цель — определить тип/модель кроссовок на изображении. Модель использует предобученную архитектуру ResNet50, дообученную на вашем собственном датасете, содержащем изображения кроссовок, отсортированные по папкам (одна папка = один класс).
🧠 Используемые технологии
Python
PyTorch
torchvision
scikit-learn
PIL
matplotlib / seaborn
🗂️ Структура данных
Путь к данным:
/kaggle/input/sneakers-classification/sneakers-dataset/sneakers-dataset/
python-repl
Copy
Edit
sneakers-dataset/
├── Adidas/
│ ├── img1.jpg
│ ├── img2.jpg
│ └── ...
├── Nike/
│ ├── img1.jpg
│ ├── img2.jpg
│ └── ...
├── Puma/
│ └── ...
...
⚙️ Запуск обучения
📌 Подготовка
bash
Copy
Edit
pip install torch torchvision scikit-learn matplotlib seaborn
🚀 Запуск скрипта
python
Copy
Edit
python sneakers_train.py
В скрипте используется автоматическое определение устройства (GPU, если доступен) и происходит обучение в течение 50 эпох с использованием Adam и CrossEntropyLoss.
🏗️ Архитектура модели
В качестве основы используется ResNet50, где последний fully connected слой заменяется на:
python
Copy
Edit
model.fc = nn.Linear(model.fc.in_features, NUM_CLASSES)
Модель сохраняется в файл best_model.pth после каждой эпохи с улучшением метрики точности на валидации.
📊 Оценка модели
Во время обучения выводятся:
Loss (потери)
Accuracy (точность)
Также вы можете дополнительно использовать confusion_matrix и classification_report из sklearn на тестовой выборке после обучения.
💾 Файлы
sneakers_train.py — основной скрипт обучения
best_model.pth — веса лучшей модели после обучения
📈 Результаты
Использовано классов: NUM_CLASSES
Лучшая точность валидации: X.XXX (выводится в конце обучения)
📬 Обратная связь
Если у вас есть предложения или улучшения, открывайте Issue или Pull Request! |