Фреймворк для глибокого навчання складається з комбінації інтерфейсів, бібліотек та інструментів для швидкого й точного визначення та навчання моделей машинного навчання.
Оскільки глибоке навчання використовує велику кількість неструктурованих, нетекстових даних, вам потрібна структура, яка керує взаємодією між «шарами» і прискорює розробку моделі, навчаючись на вхідних даних і приймаючи автономні рішення.
Якщо ви зацікавлені в тому, щоб дізнатися про глибоке навчання у 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
Завдяки високій масштабованості, високій продуктивності, швидкому виправленню неполадок і розширеній підтримці графічного процесора, ця структура була створена Apache для використання у великих промислових проектах.
MXNet включає інтерфейс Gluon, який дозволяє розробникам усіх рівнів кваліфікації розпочати глибоке навчання у хмарі, на периферійних пристроях і в мобільних додатках. Всього за кілька рядків глюонного коду ви можете побудувати лінійну регресію, згорткові мережі та повторювані LSTM для виявлення об'єкта, розпізнавання мовлення, рекомендація та персоналізація.
MXNet можна використовувати на різних пристроях і підтримується кількома мови програмування такі як Java, R, JavaScript, Scala і Go. Хоча кількість користувачів і членів у спільноті невелика, MXNet має добре написану документацію та великий потенціал для зростання, особливо зараз, коли Amazon вибрала цю платформу як основний інструмент для машинного навчання на AWS.
Ключові особливості
- 8 мовних прив'язок
- Розподілене навчання, підтримка систем з кількома процесорами та графічними процесорами
- Гібридний інтерфейс, що дозволяє перемикатися між імперативним і символічним режимами
4. Когнітивний інструментарій Microsoft
Якщо ви думаєте про розробку додатків або служб, які працюють на Azure (хмарні служби Microsoft), Microsoft Cognitive Toolkit є основою для ваших проектів глибокого навчання. Це відкритий вихідний код і підтримується такими мовами програмування, як Python, C++, C#, Java та іншими. Ця структура розроблена, щоб «мислити як людський мозок», тому вона може обробляти великі обсяги неструктурованих даних, пропонуючи швидке навчання та інтуїтивно зрозумілу архітектуру.
Вибравши цю платформу – ту саму, що стоїть за Skype, Xbox і Cortana – ви отримаєте хорошу продуктивність своїх програм, масштабованість та просту інтеграцію з Azure. Однак, якщо порівнювати з TensorFlow або PyTorch, кількість учасників у його спільноті та підтримка зменшується.
Наступне відео пропонує повний вступ і приклади застосування:
Ключові особливості
- Чітка документація
- Підтримка від команди Microsoft
- Пряма візуалізація графіка
5. Керас
Як і 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). 14 листопада 2019 року він додав ONNX як проект на рівні випускників. Цей перехід ONNX під егідою LF AI Foundation розглядався як важлива віха у створенні ONNX як нейтрального для постачальника стандарту відкритого формату.
ONNX Model Zoo — це колекція попередньо навчених моделей глибокого навчання, доступних у форматі ONNX. Для кожної моделі є Блокноти Юпітера для навчання моделі та виконання висновків за допомогою навченої моделі. Блокноти написані мовою Python і містять посилання на навчальний набір даних і посилання на оригінальний науковий документ, що описує архітектуру моделі.
Ключові особливості
- Сумісність фреймворків
- Оптимізація обладнання
Висновок
Це короткий огляд найкращих фреймворків для глибоке навчання. Для цього існує кілька фреймворків, безкоштовних або платних. Щоб вибрати найкраще для свого проекту, спочатку знайте, для якої платформи ви будете розробляти свою програму.
Загальні фреймворки, такі як TensorFlow і Keras, є найкращими варіантами для початку. Але якщо вам потрібно використовувати переваги ОС або пристрою, то найкращими варіантами можуть бути Core ML і Microsoft Cognitive Toolkit.
Існують інші фреймворки, орієнтовані на пристрої Android, інші машини та конкретні цілі, які не згадуються в цьому списку. Якщо остання група вас зацікавила, ми пропонуємо пошукати їх інформацію в Google або інших сайтах машинного навчання.
залишити коментар