Рамката за дълбоко обучение се състои от комбинация от интерфейси, библиотеки и инструменти за бързо и точно дефиниране и обучение на модели на машинно обучение.
Тъй като дълбокото обучение използва голямо количество неструктурирани, нетекстови данни, имате нужда от рамка, която контролира взаимодействието между „слоевете“ и прави развитието на модела бързо, като се учи от входните данни и взема автономни решения.
Ако се интересувате да научите за дълбоко обучение през 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. Apache MX Net
Поради високата си мащабируемост, висока производителност, бързо отстраняване на неизправности и усъвършенствана поддръжка на GPU, тази рамка е създадена от Apache за използване в големи индустриални проекти.
MXNet включва интерфейса Gluon, който позволява на разработчиците от всички нива на умения да започнете с дълбоко учене в облака, на периферните устройства и в мобилните приложения. Само с няколко реда от Gluon код можете да изградите линейна регресия, конволюционни мрежи и повтарящи се LSTM за откриване на обект, разпознаване на говор, препоръки и персонализиране.
MXNet може да се използва на различни устройства и се поддържа от няколко програмни езици като Java, R, JavaScript, Scala и Go. Въпреки че броят на потребителите и членовете в неговата общност е малък, MXNet има добре написана документация и голям потенциал за растеж, особено сега, когато Amazon избра тази рамка като основен инструмент за машинно обучение на AWS.
Основни функции
- 8 езикови връзки
- Разпределено обучение, поддържащо многопроцесорни и мулти-GPU системи
- Хибриден преден край, позволяващ превключване между императивен и символичен режим
4. Познавателен инструментариум на Microsoft
Ако мислите за разработване на приложения или услуги, които работят на 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 предлага поддръжка за конволюционни невронни мрежи и повтарящи се невронни мрежи.
Keras позволява модели за дълбоко обучение да се генерира на смартфони както на iOS, така и на Android, на виртуална машина на Java или в мрежата. Той също така позволява използването на разпределено обучение на модели за дълбоко обучение върху клъстери от графични процесори (GPU) и тензорни процесори (TPU).
Основни функции
- Предварително обучени модели
- Множество бекенд поддръжка
- Удобна за потребителя и голяма поддръжка на общността
6. Apple Core ML
Core ML е разработен от Apple, за да поддържа нейната екосистема – IOS, Mac OS и iPad OS. Неговият API работи на ниско ниво, като използва добре ресурсите на процесора и графичния процесор, което позволява на създадените модели и приложения да продължат да работят дори без интернет връзка, което намалява „отпечатъка на паметта“ и консумацията на енергия на устройството.
Начинът, по който Core ML постига това, не е точно чрез създаване на още една библиотека за машинно обучение, която е оптимизирана за работа на iphone/ipads. Вместо това Core ML е по-скоро компилатор, който взема спецификации на модела и обучени параметри, изразени с друг софтуер за машинно обучение, и го преобразува във файл, който се превръща в ресурс за приложение за iOS. Това преобразуване в Core ML модел се случва по време на разработката на приложението, а не в реално време, докато приложението се използва, и се улеснява от библиотеката на python на coremltools.
Core ML осигурява бърза производителност с лесна интеграция на машинно обучение модели в приложения. Той поддържа задълбочено обучение с над 30 вида слоеве, както и дървета на решенията, поддържащи векторни машини и методи на линейна регресия, всички изградени върху технологии от ниско ниво като Metal и Accelerate.
Основни функции
- Лесен за интегриране в приложения
- Оптимално използване на местните ресурси, без да се изисква достъп до интернет
- Поверителност: не е необходимо данните да напускат устройството
7. ONNX
Последната рамка в нашия списък е ONNX. Тази рамка се появи от сътрудничество между Microsoft и Facebook, с цел опростяване на процеса на прехвърляне и изграждане на модели между различни рамки, инструменти, времена за изпълнение и компилатори.
ONNX дефинира общ тип файл, който може да работи на множество платформи, като същевременно използва предимствата на API на ниско ниво като тези от Microsoft Cognitive Toolkit, MXNet, Caffe и (с помощта на конвертори) Tensorflow и Core ML. Принципът зад ONNX е да се обучава модел върху стек и да се прилага, като се използват други изводи и прогнози.
LF AI Foundation, подорганизация на Linux Foundation, е организация, посветена на изграждането на екосистема за подкрепа с отворен код иновации в изкуствения интелект (AI), машинното обучение (ML) и дълбокото обучение (DL). Той добави ONNX като проект на ниво завършил на 14 ноември 2019 г. Този ход на ONNX под чадъра на LF AI Foundation се разглежда като важен крайъгълен камък в установяването на ONNX като неутрален за доставчика стандарт с отворен формат.
ONNX Model Zoo е колекция от предварително обучени модели в Deep Learning, налични във формат ONNX. За всеки модел има Тетрадки Юпитер за обучение на модел и извършване на изводи с обучения модел. Тетрадките са написани на Python и съдържат връзки към набор от данни за обучение и препратки към оригиналния научен документ, описващ архитектурата на модела.
Основни функции
- Рамкова оперативна съвместимост
- Хардуерна оптимизация
Заключение
Това е обобщение на най-добрите рамки за дълбоко учене. Има няколко рамки за тази цел, безплатни или платени. За да изберете най-доброто за вашия проект, първо знайте за коя платформа ще разработвате приложението си.
Общите рамки като TensorFlow и Keras са най-добрите опции за начало. Но ако трябва да използвате специфични за ОС или устройство предимства, тогава Core ML и Microsoft Cognitive Toolkit може да са най-добрите опции.
Има и други рамки, насочени към устройства с Android, други машини и специфични цели, които не са споменати в този списък. Ако последната група ви интересува, предлагаме да потърсите тяхната информация в Google или други сайтове за машинно обучение.
Оставете коментар