Виноградные лозы действительно имеют захватывающий осенний цветной сезон. Цвета этих листьев меняются по нескольким причинам, таким как изменение продолжительности светового дня и изменение температуры, листья останавливают процесс приготовления пищи. По мере распада хлорофилла зеленый цвет исчезает, и становятся видимыми желто-красные цвета, придающие листьям часть их осеннего великолепия.

Хватит говорить о науке о цветовых вариациях виноградного листа. Наша цель — подготовить модель нейронной сети с глубоким обучением, чтобы определить цвет этих листьев, распознавая изображения. Для этого нам сначала нужно получить набор данных. Для этого вы можете получить доступ к этой ссылке.
После выбора нашего набора данных следующая задача — перейти на такую ​​​​платформу, которая позволит нам обучать и готовить модели DNN, которые можно развернуть в веб-приложениях или устройствах IoT. Для этого мы используем Cainvas AITS Platform. Эта платформа дает нам доступ к обучению наших моделей на ноутбуках Jupyter с использованием высокоэффективных графических процессоров.

Мы начнем с импорта всех библиотек, необходимых для нашего обучения. Следующие библиотеки охватывают наши зависимости.

Затем мы разархивируем наши данные, чтобы сделать их доступными в нашей рабочей области. После этого мы определяем переменные «train_path» и «validation_path», чтобы определить наши разделения набора данных для обучения и проверки.

Очень важный шаг, который необходимо сделать, прежде чем мы начнем подготовку наших данных, — визуализировать и просмотреть наши данные. В этой части мы определяем несколько функций построения графиков и передаем их в наши каталоги изображений. Используя библиотеку cv2, изображения считываются и отображаются с помощью функции matplotlib.

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

Это создание выполняется с помощью функции ImageDataGenerator() из библиотеки keras. Эта функция предварительной обработки чрезвычайно полезна при работе с данными изображения. Затем мы загружаем наши данные обучения и проверки через эти генераторы данных изображения и устанавливаем размер входного изображения 256 * 256.

Теперь, когда у нас есть изображения, которые были предварительно обработаны и готовы к чтению нашей моделью нейронной сети, мы определяем для нее архитектуру. Мы определяем последовательную модель со следующими слоями, имеющими около 204 тысяч обучаемых параметров.

Поскольку архитектура нашей модели готова, мы помещаем обучающие и проверочные изображения в модель с помощью функции fit_generator(). Определив шаги на эпоху как 15, шаги проверки как 1 и установив количество эпох как 50, мы начинаем обучение. После обучения нашей модели мы видим, что получили следующую статистику:
1. Точность обучения: 100%
2. Точность проверки: 100%
3. Потери при обучении: 0,0< br /> 4. Потери при проверке: 0,4

Мы подтверждаем приведенные выше показатели, нанося на график точность и потери как для потерь при обучении, так и для количества эпох.

Мы также будем использовать другие методы и показатели, чтобы определить производительность нашей модели. Оценивая точность проверочных изображений для нашей модели, мы видим, что она достигает точности 99%. Эти результаты кажутся многообещающими. Для нашей окончательной проверки давайте случайным образом выберем изображение из каждой категории изображений и предскажем его с помощью модели.

Мы видим, что наша модель правильно предсказывает оба изображения. Теперь мы действительно можем со 100% уверенностью сказать, что наша модель очень эффективна при категоризации изображений. Мы можем развернуть эту модель машинного обучения на нескольких устройствах IoT, чтобы определить цвет без фактического вмешательства человека.

Машинное обучение и глубокое обучение оказали большое влияние на нашу жизнь. Масштабы улучшения и роста в этой области выходят за все пределы. Вот мы и подошли к концу нашего проекта. Если вы хотите получить доступ к полному блокноту, перейдите по этой ссылке.

Желаем удачи в вашей карьере в области машинного обучения.

Ваше здоровье!

Кредиты: Кхарбанда