Pytorch Классификация спутниковых изображений с использованием нейронных сетей.

ВВЕДЕНИЕ

Описание набора данных: содержит четыре класса спутниковых изображений: вода , пустыня , облачность и зеленые зоны, по 1500 изображений каждого класса. В тестовой папке содержится по 40 изображений каждого класса.

ссылка на набор данных:https://www.kaggle.com/mahmoudreda55/satellite-image-classification

Цель. Разработать модель глубокого обучения или нейронной сети, которая может прогнозировать или классифицировать спутниковые изображения по следующим классам: вода, пустыня, облачная и зеленая зона с использованием pytorch. Эта модель также была обучена на компьютере с процессором. Этот проект также помогает легко начать работу с pytorch.

Что такое питорч?

PyTorch — это библиотека машинного обучения с открытым исходным кодом, которая в основном используется для приложений глубокого обучения, компьютерного зрения и обработки естественного языка с использованием графических и центральных процессоров. Он может быть реализован на Python, в основном разработанном командой Facebook AI Research. другими библиотеками машинного обучения, похожими на pytorch, являются TensorFlow и Keras. Он использует тензоры и может быть реализован с помощью numpy.

СХЕМА

1. Импорт библиотек

2. Загружать и преобразовывать данные, а затем определять загрузчик данных

3. Загрузите предварительно обученную модель плотной сети

4. Нарисуйте несколько изображений

5. Проверка скорости процессора компьютеров

6. Определение нейронных сетей

7. Определите этапы обучения

8. Постройте график шагов обучения

9. сохранить обученную модель

10.Используйте обученную модель для прогнозирования классов спутниковых изображений

  1. Импортировать библиотеки

2. Загрузить и преобразовать данные, а затем определить загрузчик данных

Предоставьте ссылку на локально сохраненные изображения на вашем ПК, преобразуйте и измените размер изображений перед использованием загрузчика данных pytorch для загрузки в набор данных.

3. Загрузите предварительно обученную модель плотной сети

DenseNet – это тип сверточной нейронной сети, в которой используются плотные связи между слоями через плотные блоки, где мы соединяем все слои (с соответствующими размерами карт объектов) непосредственно с каждым другой. Чтобы сохранить характер прямой связи, каждый слой получает дополнительные входные данные от всех предыдущих слоев и передает свои собственные карты объектов всем последующим слоям. Модель Dendennet-121 входит в группу моделей DenseNet, предназначенных для классификации изображений. Первоначально авторы обучали модели на Torch*, но затем преобразовали их в формат Caffe*. Все модели DenseNet были предварительно обучены в базе данных изображений ImageNet.

4 Нарисуйте несколько изображений

5. Проверьте скорость процессора компьютеров

PYTORCH использует библиотеку cuda в качестве графического процессора для обучения, но на моем компьютере нет графического процессора с поддержкой cuda.

6. Определение нейронных сетей

Используя модуль pytorch.nn, определите нейронную сеть, используя функции активации relu и softmax. Обратите внимание, что нет необходимости использовать гири плотной сети.

7. Определите этапы обучения

определите эпохи и входные данные для устройства, затем выполните обратное распространение и примените оптимизатор

8. Постройте график шагов обучения

9. сохранить обученную модель

10. Используйте обученную модель для прогнозирования классов спутниковых изображений

Сначала загрузите обученную модель

функции для классификации изображений в тестовой папке

ЗАКЛЮЧЕНИЕ

В этом проекте объясняется процесс прогнозирования класса спутниковых изображений с помощью библиотеки pytorch. Это простой и понятный процесс, однако этот процесс будет выполняться быстрее на компьютере с поддержкой графического процессора, а не на процессоре. Так что выбор за вами. Этот блокнот был представлен в качестве решения на странице классификации изображений kaggle. https://www.kaggle.com/mahmoudreda55/satellite-image-classification/code

ПИСАТЕЛЬ: ОЛУЙЕДЕ СЕГУН. А (младший)

Используемые ресурсы (ссылки) и дополнительная литература:







Ссылка на объяснительную записную книжку:

https://github.com/juniorboycoder/PYTORCH-Satellite-image-classification-using-neural-networks./blob/main/satalite_pytorch%20-%20real.ipynb

профиль Twitter: https://twitter.com/oluyedejun1

профиль на LinkedIn: https://www.linkedin.com/in/oluyede-segun-adedeji-jr-a5550b167/

ТЕГИ: #pytorch #neuralnetwork #imageclassification #densenet #machinelearning #deeplearning # python