| 👟 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! |