Содержание[Скрывать][Показывать]
Фреймворк для глубокого обучения состоит из комбинации интерфейсов, библиотек и инструментов для быстрого и точного определения и обучения моделей машинного обучения.
Поскольку глубокое обучение использует большой объем неструктурированных, нетекстовых данных, вам нужна структура, которая контролирует взаимодействие между «слоями» и ускоряет разработку модели, изучая входные данные и принимая автономные решения.
Если вы заинтересованы в изучении глубокого обучения в 2021 году, рассмотрите возможность использования одной из платформ, указанных ниже. Не забудьте выбрать тот, который поможет вам достичь ваших целей и видения.
1. TensorFlow
Говоря о глубоком обучении, TensorFlow часто упоминается в первую очередь. Эта очень популярная платформа используется не только Google — компанией, ответственной за ее создание, — но и другими компаниями, такими как Dropbox, eBay, Airbnb, Nvidia и многими другими.
TensorFlow можно использовать для разработки API высокого и низкого уровня, что позволяет запускать приложения практически на любом устройстве. Хотя Python является его основным языком, к интерфейсу Tensoflow можно получить доступ и управлять им с помощью других языков программирования, таких как C++, Java, Julia и JavaScript.
Будучи открытым исходным кодом, TensorFlow позволяет вам выполнять несколько интеграций с другими API и получать быструю поддержку и обновления от сообщества. Его зависимость от «статических графиков» для вычислений позволяет вам выполнять немедленные вычисления или сохранять операции для доступа в другое время. Эти причины, а также возможность «наблюдать» за развитием вашей нейронной сети через TensorBoard, делают TensorFlow самой популярной средой для глубокого обучения.
Главные преимущества
- С открытым исходным кодом
- Трансформируемость
- Быстрая отладка
2. PyTorch
PyTorch — это платформа, разработанная Facebook для поддержки работы своих сервисов. С тех пор как этот фреймворк стал открытым, он использовался другими компаниями, помимо Facebook, такими как Salesforce и Udacity.
Эта структура работает с динамически обновляемыми графиками, что позволяет вам вносить изменения в архитектуру вашего набора данных по мере его обработки. С PyTorch проще разработать и обучить нейронную сеть даже без опыта глубокого обучения.
Будучи открытым исходным кодом и основанным на Python, вы можете легко и быстро интегрироваться в PyTorch. Это также простая структура для изучения, использования и отладки. Если у вас есть вопросы, вы можете рассчитывать на отличную поддержку и обновления от обоих сообществ — сообщества Python и сообщества PyTorch.
Главные преимущества
- Легко обучаема
- Поддерживает GPU и CPU
- Богатый набор API для расширения библиотек
3. Апач MXNet
Благодаря высокой масштабируемости, высокой производительности, быстрому устранению неполадок и расширенной поддержке графических процессоров эта платформа была создана Apache для использования в крупных промышленных проектах.
MXNet включает в себя интерфейс Gluon, который позволяет разработчикам всех уровней квалификации начать с глубокого обучения в облаке, на периферийных устройствах и в мобильных приложениях. Всего за несколько строк кода Gluon вы можете построить линейную регрессию, сверточные сети и рекуррентные LSTM для обнаружение объекта, распознавание речи, рекомендации и персонализация.
MXNet может использоваться на различных устройствах и поддерживается несколькими языки программирования такие как Java, R, JavaScript, Scala и Go. Несмотря на то, что количество пользователей и участников в сообществе невелико, у MXNet есть хорошо написанная документация и большой потенциал для роста, особенно сейчас, когда Amazon выбрала эту платформу в качестве основного инструмента для машинного обучения на AWS.
Главные преимущества
- 8 языковых привязок
- Распределенное обучение, поддерживающее системы с несколькими процессорами и несколькими графическими процессорами
- Гибридный интерфейс, позволяющий переключаться между императивным и символьным режимами
4. Microsoft Cognitive Toolkit
Если вы планируете разрабатывать приложения или службы, работающие в Azure (облачные службы Microsoft), Microsoft Cognitive Toolkit — это платформа, которую следует выбрать для ваших проектов глубокого обучения. Это открытый исходный код, поддерживаемый такими языками программирования, как Python, C++, C#, Java и другими. Этот фреймворк предназначен для того, чтобы «думать как человеческий мозг», поэтому он может обрабатывать большие объемы неструктурированных данных, предлагая при этом быстрое обучение и интуитивно понятную архитектуру.
Выбрав этот фреймворк — тот же, что стоит за Skype, Xbox и Cortana — вы получите хорошую производительность ваших приложений, масштабируемость и простую интеграцию с Azure. Однако по сравнению с TensorFlow или PyTorch количество членов сообщества и поддержки меньше.
Следующее видео предлагает полное введение и примеры применения:
Главные преимущества
- Понятная документация
- Поддержка от команды Microsoft
- Прямая визуализация графика
5. Keras
Как и PyTorch, Keras — это библиотека на основе Python для проектов с интенсивным использованием данных. API-интерфейс keras работает на высоком уровне и позволяет интегрироваться с API-интерфейсами низкого уровня, такими как TensorFlow, Theano и Microsoft Cognitive Toolkit.
Некоторыми преимуществами использования keras являются его простота в освоении — это рекомендуемая среда для начинающих в области глубокого обучения; его скорость развертывания; имеет большую поддержку со стороны сообщества python и сообществ других фреймворков, с которыми он интегрирован.
Keras содержит различные реализации строительные блоки нейронных сетей такие как слои, целевые функции, функции активации и математические оптимизаторы. Его код размещен на GitHub, есть форумы и канал поддержки Slack. Помимо поддержки стандартных нейронные сети, Keras предлагает поддержку сверточных нейронных сетей и рекуррентных нейронных сетей.
Керас позволяет модели глубокого обучения для создания на смартфонах на iOS и Android, на виртуальной машине Java или в Интернете. Он также позволяет использовать распределенное обучение моделей глубокого обучения на кластерах графических процессоров (GPU) и тензорных процессоров (TPU).
Главные преимущества
- Предварительно обученные модели
- Поддержка нескольких серверных частей
- Удобная и большая поддержка сообщества
6. Apple Core ML
Core ML был разработан Apple для поддержки своей экосистемы — IOS, Mac OS и iPad OS. Его API работает на низком уровне, эффективно используя ресурсы ЦП и ГП, что позволяет созданным моделям и приложениям продолжать работать даже без подключения к Интернету, что снижает «занимаемую память» и энергопотребление устройства.
Способ, которым Core ML достигает этого, заключается не в том, чтобы создать еще одну библиотеку машинного обучения, оптимизированную для работы на iphone/ipad. Вместо этого Core ML больше похож на компилятор, который берет спецификации модели и обученные параметры, выраженные с помощью другого программного обеспечения для машинного обучения, и преобразует их в файл, который становится ресурсом для приложения iOS. Это преобразование в модель Core ML происходит во время разработки приложения, а не в режиме реального времени, когда приложение используется, и обеспечивается библиотекой Python coremltools.
Core ML обеспечивает высокую производительность благодаря простой интеграции обучение с помощью машины модели в приложения. Он поддерживает глубокое обучение с более чем 30 типами слоев, а также деревьями решений, машинами опорных векторов и методами линейной регрессии, и все они построены на основе низкоуровневых технологий, таких как Metal и Accelerate.
Главные преимущества
- Легко интегрируется в приложения
- Оптимальное использование локальных ресурсов, не требующее доступа в интернет
- Конфиденциальность: данные не должны покидать устройство
7. ОННКС
Последний фреймворк в нашем списке — ONNX. Этот фреймворк появился в результате сотрудничества между Microsoft и Facebook с целью упростить процесс переноса и построения моделей между различными фреймворками, инструментами, средами выполнения и компиляторами.
ONNX определяет общий тип файла, который может работать на нескольких платформах, используя при этом преимущества низкоуровневых API-интерфейсов, таких как Microsoft Cognitive Toolkit, MXNet, Caffe и (с использованием конвертеров) Tensorflow и Core ML. Принцип ONNX заключается в обучении модели в стеке и ее реализации с использованием других выводов и прогнозов.
LF AI Foundation, дочерняя организация Linux Foundation, представляет собой организацию, занимающуюся созданием экосистемы для поддержки открытые источники инновации в области искусственного интеллекта (ИИ), машинного обучения (МО) и глубокого обучения (ГО). 14 ноября 2019 года он добавил ONNX в качестве проекта для выпускников. Этот переход ONNX под эгиду LF AI Foundation был воспринят как важная веха в превращении ONNX в независимый от поставщиков стандарт открытого формата.
Зоопарк моделей ONNX — это коллекция предварительно обученных моделей глубокого обучения, доступных в формате ONNX. Для каждой модели есть Ноутбуки Jupyter для обучения модели и выполнения выводов с обученной моделью. Записные книжки написаны на Python и содержат ссылки на набор обучающих данных и ссылки на оригинальный научный документ, описывающий архитектуру модели.
Главные преимущества
- Совместимость фреймворка
- Аппаратная оптимизация
Заключение
Это обзор лучших фреймворков для глубокое обучение. Для этой цели существует несколько фреймворков, бесплатных или платных. Чтобы выбрать лучшее для своего проекта, сначала узнайте, для какой платформы вы будете разрабатывать свое приложение.
Общие фреймворки, такие как TensorFlow и Keras, — лучшие варианты для начала. Но если вам нужно использовать преимущества ОС или устройства, лучшими вариантами могут стать Core ML и Microsoft Cognitive Toolkit.
Существуют и другие фреймворки, предназначенные для устройств Android, других машин и конкретных целей, которые не были упомянуты в этом списке. Если последняя группа вас интересует, мы предлагаем выполнить поиск их информации в Google или других сайтах машинного обучения.
Оставьте комментарий