Keras

Keras – мінімалістична бібліотека Python для DL, яка може працювати над TensorFlow, CNTK, Theano, бета-версією з MXNet і вже було анонсовано підтримку Deeplearning4j [Keras]. Була розроблена з акцентом на швидке експериментування і випускається під ліцензією MIT. Keras працює на Python 2.7 або 3.X і може виконуватись на графічних процесорах і процесорах, враховуючи основні фреймворки.

Keras розробляється та підтримується Франсуа Чоллетом, інженером Google, використовуючи чотири керівні принципи:

  1. Дружність до користувачів та мінімалізм. Keras – це API, призначений для людей, які мають центральний досвід користувачів. Keras дотримується кращих практик зменшення когнітивного навантаження, пропонуючи послідовні та прості API.
  2. Модульність. Модель розуміється як послідовність або графік самостійних, повністю настроюваних модулів, які можна підключати разом з якомога меншими обмеженнями. Зокрема, нейронні шари, функції витрат, оптимізатори, схеми ініціалізації, функції активації, схеми регуляризації – все це окремі модулі для комбінування та створення нових моделей.
  3. Легка розширюваність. Нові модулі легко додати, а існуючі модулі надають достатньо прикладів, що дозволяють зменшити виразність.
  4. Робота з Python. Моделі описані в коді Python, який є компактним, простим у налагодженні та дозволяє легко розширюватись.

Сильні сторони:

  • З відкритим кодом, з швидким залученням, добре підтримується сильними промисловими компаніями.
  • Дозволяє швидко визначати DL моделі; Keras може стати стандартним API для DL, він має дуже гарну документацію.
  • Чистий та зручний спосіб створити цілий ряд DL моделей поверх інших більш низькорівневих бібліотек (наприклад, TensorFlow, Theano, CNTK). Keras обгортає бекенд-бібліотеки, абстрагуючи свої можливості і приховуючи їх складність.

Слабкі сторони:

  • Модульність і простота забезпечує меншу гнучкість. Не є оптимальним рішенням для дослідження нових архітектур.
  • Multi-GPU не працює на 100%.