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

Nyoka – еще одна змея в зоопарке Python

Поддержка науки о данных с Python В этой статье мы представим Nyoka, новую Python-базу … Теги с Nyoka, Python, Zementis.

В этой статье мы представим Nyoka, новую библиотеку на основе Python, которая экспортирует прогнозные модели из популярных средств машинного обучения/глубокой обучения в PMML. Используя Nyoka, данные ученые могут стандартизировать и ускорить процесс развертывания для прогнозируемых моделей.

Александр Лемм, Ср. Менеджер по продукту, прогнозирующая аналитика, программное обеспечение AG и доктор Райнер Бурхардт, SR. Режиссер, AI Analytics, Software AG

Вступление

В августе программного обеспечения AG выпустила Nyoka на Github®, библиотеку Python для ученых данных. Но что именно нока и что она стоит? Использование NYOKA, ученый данных может экспортировать прогнозные модели, созданные с популярным обучением машины на основе Python или глубокой обучения в PMML (см. Рисунок 1 ниже). «Nyoka» происходит из Зулу и означает «змею», следовательно, тесная связь с его двоюродным братом Python.

Рис. 1: Поддерживаемые машины обучения и глубокие структуры обучения

PMML – это формат обмена прогнозным моделей на основе XML и ведущий стандарт для моделей статистической и машинной обучения. Группа данных по добыче данных (DMG) является независимым консорциумом, который поддерживает и приводит к разработке PMML в течение почти 20 лет.

Nyoka Underscores Software AG Искусственный интеллект (AI) Стратегия и видение стандартов открытых отраслевых стандартов: PMML в качестве объединения стандарта для машинного обучения и моделей глубокой обучения.

Nyoka в действии

Давайте проверим простой пример о том, как вы можете использовать Nyoka для экспорта предварительно обученной модели MobileNet для распознавания изображений из KERAS в PMML. Здесь мы предполагаем, что вы уже загрузили все необходимые библиотеки в память.

# load pretrained keras mobilenet model model = mobilenet.MobileNet(input\_shape=(224, 224, 3), alpha=1.0, depth\_multiplier=1,                             dropout=1e-3, include\_top=True, weights='imagenet',                             input\_tensor=None, pooling=None, classes=1000)   # convert mobilnet model to PMML cnn\_pmml = KerasToPmml(model, model\_name="KerasMobileNet", dataSet="ImageNet")   # Save mobilenet PMML to disk cnn\_pmml.export(open("mobilenet\_demo.pmml, "w"),0)

Построение объекта с именем CNN_PMML в качестве экземпляра Nyoka Class Kerastopmml () – это все, что вам нужно сделать для преобразования модели MobileNet в его представление PMML. Сохранение его на диске сделано путем вызова экспорта метода ().

Но какой файл PMML хорош для того, когда вы не используете его для прогнозирования новых и невидимых значений – которые находятся в нашем случае неклассифицированные изображения?

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

pmml\_file = open(mobilenet\_demo.pmml,"r") pmml = {'file': pmml\_file} pmml\_upload = requests.post(adapaRS + "model/", files=pmml, auth=auth, verify=False,                             params = {"applyCleanser": "FALSE"})

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

Рис. 2: Изображение, которое мы собираемся классифицировать

f = open("shark\_224\_224.png", "rb") files ={'file':f.read()} resp = requests.post(adapaRS+'apply/KerasMobileNet' , auth=auth, files=files,headers={},verify=False)

Любопытно, что такое классификационный результат от сервера Zementis? Давайте проверим это!

Print(resp.text) { "model" : "KerasMobileNet", "outputs" : [{ "top1\_prob" : 0.9951145648956299, "predictedValue\_predictions" : "great\_white\_shark", "top5\_prob" : "great\_white\_shark:0.9951145648956299,tiger\_shark:0.0029412976000458,sturgeon:0.0012288052821531892,dugong:3.0053118825890124E-4,killer\_whale:2.2845140483696014E-4" }] }

Как видите, развернутая модель Mobilenet классифицирует изображение как великую белую акулу с вероятностью 99,5%. Исследование вывода вы видите, что сервер Zementis не просто дает вам лучший результат классификации и соответствующую вероятность, но на самом деле пять лучших результатов.

Вывод

В этой статье мы просто поцарапали поверхность возможностей Nyoka. С Nyoka вы даже можете создать свои собственные экспортеры для специализированных/отдельных типов модели.

Вы хотели бы узнать больше о Nyoka и сделать глубокий погружение? Пожалуйста, проверьте следующие ссылки:

Узнайте больше о Zementis и загрузите бесплатную пробную версию сегодня.

Оригинал: “https://dev.to/techcommunity/nyoka-yet-another-snake-in-the-python-zoo-745”