+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

JetBrains випустив альфа-версію KotlinDL - фреймворку для глибокого навчання нейромереж

JetBrains випустила альфа-версію KotlinDL - фреймворк для нейронних мереж глибокого навчання

JetBrains випустила першу альфа-версію KotlinDL, фреймворк для нейронних мереж глибокого навчання, API якого JetBrains намагався зробити максимально схожим на Keras (фреймворк Python поверх TensorFlow).

У KotlinDL ви знайдете прості API як для опису, так і для навчання нейронних мереж. З API високого рівня і ретельно підібраними за замовчуванням за багатьма параметрами, ми сподіваємося знизити поріг для вступу в глибоке навчання на JVM.

Підтримка графічного процесора

Навчання моделей на центральному процесорі може зайняти чималу кількість часу. Поширеною практикою є запуск обчислень на графічному процесорі. Для цього вам знадобиться CUDA від NVIDIA встановлена . Щоб почати навчання моделі на ГПУ, досить додати тільки одну залежність.

Що входить в API

У цій ранній версії ви знайдете всі необхідні методи опису багатошарових персептронів і згорткових мереж. Більшість гіперпараметрів мають розумні значення за замовчуванням, але при цьому у вас є широкий вибір оптимізаторів, ініціалізаторів, функцій активації та інших налаштувань. Модель, отримана в процесі навчання, може бути збережена і використана в бекенд-додатку, написаному на Kotlin або Java.

Завантаження моделей, навчених Керасом

KotlinDL не тільки здатний завантажувати моделі, навчені одному і тому ж фреймворку, але і надає можливість завантажувати і використовувати модель, навчену за допомогою Keras на Python (підтримуються версії Keras 2.*).

При завантаженні моделей також можна використовувати методику Transfer Learning, яка дозволяє не тренувати величезні нейронні мережі з нуля, а використовувати вже існуючу модель і просто підлаштовувати її під своє завдання.

Поточні ліміти

У цій, найбільш ранній версії, доступна обмежена кількість шарів: Input(), Flatten(), Dense(), Dropout(), Conv2D(), MaxPool2D() і AvgPool2D().
Це обмеження також стосується того, на що можна завантажувати моделі Keras. Це означає, що архітектури VGG-16 і VGG-19 вже підтримуються, а, наприклад, ResNet50 ще не підтримується. У найближчі місяці JetBrains планує випустити наступну проміжну версію, яка збільшить кількість підтримуваних архітектур.

Друге обмеження полягає в тому, що підтримка Android-пристроїв ще не включена в цю версію. Але JetBrains також буде працювати над цим.

А що під капотом?

KotlinDL використовує Java API TensorFlow як движок. Всі обчислення виконуються в TensorFlow, в рідній пам'яті, а під час навчання всі дані залишаються в рідній.

Спробуйте і поділіться враженнями!

У документації до проекту ви знайдете статті (англійською мовою), які допоможуть спробувати фреймворк:

  • Короткий посібник користувача
  • Створіть свою першу нейронну мережу за допомогою KotlinDL
  • Навчання моделі
  • приклад умовиводу
  • Імпорт моделі Keras
  • Приклад трансферного навчання

Приєднуйтесь до #deeplearning каналу в Kotlin Slack.

Інші новини