Обучение распознавания эмоций в ноутбуке 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”