Время прочтения: 2 мин.
Искусственный интеллект (Artificial Intelligence) и машинное обучение (Machine Learning) все крепче используется в индустрии для моделей предсказания, упрощения анализа данных и программирования автоматизированных систем. В этой статье мы будем рассматривать несколько библиотек языка python, т.к. в нем имеется большой набор пакетов для реализации информационных систем.
В настоящее время существует множество библиотек Python, применяемых в ML, из которых наиболее популярными являются TensorFlow и PyTorch.
TensorFlow позволяет строить нейронные сети распознавания текста, обработки естественных языков. Также ее часто используют для анализа и распознавания голосовых данных.
Keras — более функциональный интерфейс для TensorFlow, MXNet и PlaidML, не относится к библиотеке машинного обучения полного цикла, вместо чего имеет очень удобный и функциональный интерфейс, который увеличивает выразительность и модульность.
Пример кода на Keras можно посмотреть на GitHub по ссылке
Для новичков наиболее удобна библиотека PyTorch. Она позволяет использовать графический процессор GPU , благодаря чему удобно для использования при обработке естественных языков. Это оптимизирует и масштабирует распределения задач обучения в исследованиях и в создании программного обеспечения. Также преимуществом этой библиотеки является наличие Glow — компилятора моделей для нейронных сетей.
Пример кода с PyTorch:
import torch
import torch.nn as nn
dtype=torch.xxx
х = torch.tensor(([3, 10], [2, 6], [4, 7]), dtype=torch.float)
y = torch.tensor(([96], [99], [86]), dtype=torch.float)
xPredicted=torch.tensor(([4,8]),dtype=torch.float)
#xPredicted — единственный вход, для которого осуществляется прогноз оценки с использованием параметров, полученных нейросетью.
Итак, можно составить сравнительную характеристику достоинств и недостатков вышеперечисленных инструментов:
Библиотека Python | Плюсы | Минусы | Применение |
TensorFlow | Имеется TensorBoard (визуализирует модели сразу в браузере), осуществляет поддержку различных алгоритмов и обучения с подкреплением | Относительная сложность, медленнее других фреймворков, которые используют графический или центральный процессор | Ориентирована на решение бизнес-задач; чаще используют в нейронных сетях и глубоком обучении |
PyTorch | Проста в изучении, может вычислять на тензорах благодаря ускорению графического процессора, наличие инструментов и библиотек компьютерного зрения, натуральной обработки речи, глубокого обучения | в сравнении с TensorFlow, недостаточно инструментов для полноценной работы | Используется для распознавания различных элементов на фото, систем предсказаний, распознавания аудио, текста и т.д. |
Keras | Портативная, легкое представление нейронных сетей | Относительная сложность; медленная, т.к. для нее требуется создание вычислительного графа перед операциями | Применяется в классификации изображений, распознавании рукописного текста, систем предсказаний и др. |
Можно сделать вывод, что все вышеперечисленные инструменты важны, но имеют свои плюсы и минусы в зависимости от обрабатываемых данных и задач.