Рубрики
Без рубрики

Преобразовать записную книжку для распознавания эмоций Python в API без дополнительного кода

Обучение распознавания эмоций в ноутбуке Юпитера и преобразование его в фляп -API … Tagged с помощью машинного обучения, питона, Юпитера, DevOps.

Обучение распознавания эмоций в ноутбуке Jupyter и преобразование его в проект API Flask без дополнительного кода с использованием кара

Для людей, которые используют ноутбуки Jupyter для разработки и тестирования довольно часто, вы, вероятно, привыкли к копированию и вставке кода все время.

Удаление тестовых фрагментов, используя другую IDE для снова компиляции и тестирования вашего кода, и разработка API-это лишь некоторые из трудоемких задач, к которым используется разработчик ML.

Разве не было бы здорово, если бы мы могли бы автоматизировать неотъемлемую работу кода Cowerplate, необходимое для создания проекта API? * * ** Здесь мы будем обучать модель распознавания эмоций в ноутбуке Юпитера и преобразовать ее в проект API Flask без дополнительного кода!

Зависимости

pip install 
tensorflow==2.5.0 Keras==2.4.3 numpy==1.19.5 opencv-python==4.4.0.44

Нам также нужно установить Каракатура Чтобы преобразовать нашу ноутбука ML в проект API Flask.

pip install cuttle

Набор данных

Вы можете использовать любой набор данных для распознавания эмоций или создать свой собственный набор данных. В этой статье мы используем набор данных распознавания эмоций, доступный на Kaggle. Вы должны найти это Здесь Анкет Этот набор данных содержит изображения 7 классов: злой, отвращение, страх, счастливого, нейтрального, грустного и удивления. Если вы хотите добавить еще один класс, просто создайте новый каталог и добавьте изображения, принадлежащие этому классу.

Создайте ноутбук в том же каталоге, что и набор данных, который вы загружаете, с папки «поезда» и «проверка».

Импорт

Увеличение набора данных

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

Мы пересекаем изображения, потому что цвета варьируются от [0–255], а изменяем их преобразует каждое значение пикселя в диапазоне [0–1]. Здесь мы определяем целевой размер для нашей модели как 48×48, а Batch_size – 64.

Модель обучения

Мы определяем здесь CNN, но вы можете использовать любую из предварительно обученных моделей, таких как VGG16 или Resnet, или использовать обучение передачи.

Ваша модель сохраняется в данном пути после завершения обучения.

Распознавание эмоций

Теперь мы загружаем модель, даем ей изображение и проверяем ее. На этом этапе давайте представим каракули и превратим результирующую функцию в API, который может нанести любое фронтальное приложение.

Давайте используем тестовое изображение ‘test.jpeg’.

Источник: Неспособный

Вывод, который мы получаем для этого от прогнозирования модели, является ‘страх’ Анкет Продолжайте тестирование с еще несколькими изображениями, пока вы не будете удовлетворены точностью и результатами модели. Давайте посмотрим, как мы можем преобразовать это в проект API.

Инициализировать каракати

Инициализируйте каракуливую каракутиругу с «катеварной инициацией» следующим образом и введите название используемого ноутбука.

Источник – автор

Создать среду каравицы

На этом этапе вы называете среду, указываете платформу, которую вы используете, и какой трансформатор вы хотите использовать. Мы хотим использовать колба Трансформатор в этом сценарии. Вы можете выбрать название среды вашего удобства. Я использовал ‘ Emotion-rec ‘ Например.

Источник – автор

На данный момент, ваш cuttle.json должен выглядеть примерно так:

Источник – автор

После того, как вы закончили создание конфигурации, пришло время отредактировать ноутбук Jupyter, чтобы включить конфигурацию камеры. Нам нужно только отредактировать последнюю часть кода для определения маршрута API и установить конфигурацию вывода.

Добавление конфигурации в ячейки:

Мы используем конфигурацию Cuttle для выполнения 2 основных действий здесь, как видно Здесь Анкет

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

  • Укажите ячейку, которая будет выполнена каждый раз, когда вызывается API вместе с необходимыми параметрами

Чтобы отключить ячейки, добавьте эту конфигурацию в начале ячейки.

#cuttle-environment-disable emotion-rec

Теперь добавьте конфигурацию, чтобы преобразовать свой скрипт в API следующим образом:

Мы устанавливаем две конфигурации: Катеката-окружающая среда-сет-конфиг и Каракатинг-окружающая среда-Assign конфигурации. Они сотовые и линии соответственно. Конфигурация сотовой связи устанавливает конфигурацию, необходимую во время преобразования для клетки . Конфигурация с линейным объемом позволяет нам настроить переменные Анкет

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

Преобразование

Наш последний шаг-преобразование каракули, используя имя среды, которую мы использовали. Давайте приступим к тому, как:

Источник – автор

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

Источник – автор

Теперь наш код работает на Localhost Port 5000 по умолчанию. Проверьте это, отправив изображения, используя почтальон, чтобы получить ваш ответ.

test.jpeg отправлено через запрос POST в наш API Flask. Источник – автор

Ваш проект API теперь готов к развертыванию! Катечка также позволяет конвертировать ноутбук в сценарий или трубопровод.

Ресурсы

Веб -сайт катезации: катезация. Это GitHub: Распознавание эмоций API -источник Источник каравиц: Каракатировка CLI Source

Вы также можете найти нас в Twitter @ https://twitter.com/cuttlehq

Оригинал: “https://dev.to/karishnu/convert-your-emotion-recognition-notebook-into-an-api-without-extra-code-31k7”