Keras – мінімалістична бібліотека Python для DL, яка може працювати над TensorFlow, CNTK, Theano, бета-версією з MXNet і вже було анонсовано підтримку Deeplearning4j [Keras]. Була розроблена з акцентом на швидке експериментування і випускається під ліцензією MIT. Keras працює на Python 2.7 або 3.X і може виконуватись на графічних процесорах і процесорах, враховуючи основні фреймворки.
Keras розробляється та підтримується Франсуа Чоллетом, інженером Google, використовуючи чотири керівні принципи:
- Дружність до користувачів та мінімалізм. Keras – це API, призначений для людей, які мають центральний досвід користувачів. Keras дотримується кращих практик зменшення когнітивного навантаження, пропонуючи послідовні та прості API.
- Модульність. Модель розуміється як послідовність або графік самостійних, повністю настроюваних модулів, які можна підключати разом з якомога меншими обмеженнями. Зокрема, нейронні шари, функції витрат, оптимізатори, схеми ініціалізації, функції активації, схеми регуляризації – все це окремі модулі для комбінування та створення нових моделей.
- Легка розширюваність. Нові модулі легко додати, а існуючі модулі надають достатньо прикладів, що дозволяють зменшити виразність.
- Робота з Python. Моделі описані в коді Python, який є компактним, простим у налагодженні та дозволяє легко розширюватись.
Сильні сторони:
- З відкритим кодом, з швидким залученням, добре підтримується сильними промисловими компаніями.
- Дозволяє швидко визначати DL моделі; Keras може стати стандартним API для DL, він має дуже гарну документацію.
- Чистий та зручний спосіб створити цілий ряд DL моделей поверх інших більш низькорівневих бібліотек (наприклад, TensorFlow, Theano, CNTK). Keras обгортає бекенд-бібліотеки, абстрагуючи свої можливості і приховуючи їх складність.
Слабкі сторони:
- Модульність і простота забезпечує меншу гнучкість. Не є оптимальним рішенням для дослідження нових архітектур.
- Multi-GPU не працює на 100%.