Skip to content

Проект демонстрирует дообучение модели ResNet-18 на датасете Oxford 102 Flowers для классификации изображений. Сравнивается точность моделей: при обучении с нуля и при использовании дообученной модели.

Notifications You must be signed in to change notification settings

anna-zam/fine-tuning_resnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

🌸 Fine-Tuning ResNet on Oxford 102 Flowers

Этот проект демонстрирует дообучение модели ResNet-18 на датасете Oxford 102 Flowers для классификации изображений.

🚀 Описание

В проекте обучаются две модели:

  • ResNet-18 с нуля (без предобученных весов).
  • ResNet-18 с Fine-Tuning (дообучение на ImageNet).

📊 Результаты

Модель Train Accuracy Valid Accuracy Время обучения
С нуля 91.49% 94.44% ~6m 29s
Предобученная 96.45% 100% ~2m 32s

🛠️ Технологии

  • Google Colab
  • PyTorch
  • Torchvision
  • ResNet-18
  • Oxford 102 Flowers Dataset

📌 Как запустить?

  1. Откройте блокнот в Google Colab.
  2. Запустите ячейки последовательно.

🔹 Что делает блокнот?
✔ Загружает датасет Oxford 102 Flowers (классификация цветов).
✔ Преобразует данные, распределяя их по нужным папкам (train, valid, test).
✔ Использует PyTorch для подготовки данных и аугментации.
✔ Обучает две версии ResNet-18:

* С нуля (ResNet-18 from scratch).
* Предобученную на ImageNet (Fine-tuning pretrained ResNet-18).

✔ Сравнивает точность моделей:

* Обученная с нуля – 91.49% (train) / 94.44% (valid).
* Предобученная модель – 96.45% (train) / 100% (valid).

✔ Выводит графики, проверяет, есть ли пустые папки или некорректные данные.

🔗 Дополнительные ссылки:

📄 Oxford 102 Flowers Dataset - публичный датасет на Kaggle.
📜 ResNet Paper - научная статья "Deep Residual Learning for Image Recognition" (2015) от Microsoft Research, в которой была представлена архитектура ResNet (Residual Networks).

  1. Структура репозитория

      📂 fine-tuning_resnet/
      ├── fine_tuning_oxford102.ipynb  # Блокнот с кодом (Colab)
      ├── README.md                    # Описание проекта
      └── dataset_info.txt              # Описание датасета
    
  2. Дальнейшее развитие проекта 🔥 Этот проект можно расширить и улучшить!

1️⃣ Сравнение с другими моделями

  • Добавить в эксперимент другие архитектуры нейросетей: * VGG-16 / VGG-19 * EfficientNet * Vision Transformer (ViT)
  • Провести тесты и сравнить точность, скорость обучения, потребление памяти.

2️⃣ Использование аугментации данных

  • Добавить data augmentation (torchvision.transforms): RandomRotation, RandomCrop, ColorJitter, HorizontalFlip.
  • Это поможет сделать модель устойчивее к изменениям изображений.

3️⃣ Гиперпараметрический тюнинг

  • Оптимизировать learning rate, batch size, количество эпох.
  • Использовать Optuna или GridSearch для поиска лучших параметров.

4️⃣ Функция Grad-CAM для интерпретации модели

  • Визуализировать, на какие части изображения смотрит модель при классификации.
  • Поможет понять, почему нейросеть делает ошибки.

5️⃣ Добавить поддержку собственного датасета

  • Сейчас модель работает с Oxford 102 Flowers.
  • Можно адаптировать код для других датасетов, например: Custom Dataset (свои изображения цветов, животных, товаров); Imagenette / CIFAR-10 / Food-101.

6️⃣ Оптимизация модели для мобильных устройств

  • Конвертировать модель в TorchScript / ONNX.
  • Использовать TensorRT или CoreML, чтобы запустить нейросеть на мобильных устройствах.
  1. 📝 Лицензия: MIT

About

Проект демонстрирует дообучение модели ResNet-18 на датасете Oxford 102 Flowers для классификации изображений. Сравнивается точность моделей: при обучении с нуля и при использовании дообученной модели.

Topics

Resources

Stars

Watchers

Forks