keras-team/keras

Глубокое обучение для людей

Прочее⭐ 64 324Pythonпоследний релиз: v3.12.4
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Keras 3 — это многобэкендная библиотека глубокого обучения, позволяющая использовать единый высокоуровневый API для работы с JAX, TensorFlow, PyTorch и OpenVINO.

Зачем нужен

Инструмент ускоряет разработку за счёт удобного интерфейса и позволяет выбирать бэкенд для максимальной производительности (до 350% ускорения). Он обеспечивает масштабируемость от ноутбука до кластеров GPU/TPU и защищает от привязки к конкретному фреймворку.

Что можно реализовать

  • Построение и обучение моделей для компьютерного зрения, NLP, аудио и рекомендательных систем
  • Миграция существующих проектов с tf.keras на другие бэкенды (JAX, PyTorch) без переписывания логики
  • Использование моделей Keras внутри нативных рабочих процессов PyTorch или JAX
  • Инференс моделей с помощью OpenVINO

Ключевые возможности

  • Поддержка нескольких бэкендов: JAX, TensorFlow, PyTorch, OpenVINO
  • Высокая производительность: ускорение от 20% до 350% в зависимости от архитектуры и бэкенда
  • Обратная совместимость: работает как замена tf.keras, поддерживает загрузку датасетов tf.data и PyTorch DataLoaders
  • Создание кросс-фреймворковых кастомных слоев и метрик
  • Масштабируемость обучения от локальной машины до крупных кластеров

👤 Кому подойдёт: Разработчики ML, исследователи и инженеры, использующие PyTorch, JAX или TensorFlow, а также команды, стремящиеся избежать vendor lock-in.

Релизы

v3.12.4patch
🕐 1 мес назад · релиз на GitHub ↗

Выпуск Keras 3.12.4 — патч безопасности, устраняющий уязвимости при загрузке датасетов и обработке файлов моделей.

  • Fixed: Защищена загрузка датасетов IMDB и Reuters от выполнения произвольного кода через вредоносные .npz-файлы.
  • Fixed: Добавлена проверка типов групп при обходе структуры файлов HDF5 для предотвращения атак с обходом путей.
  • Fixed: Внедрена защита от атак типа «бомба сжатия» при извлечении архивов формата .keras.
  • Fixed: Ограничено использование unpickler при загрузке датасетов CIFAR-10 и CIFAR-100.
v3.15.0majorbreaking
🕐 2 мес назад · релиз на GitHub ↗

Экспорт в PyTorch, слайдинг-окна в Attention, мульти-оптимизаторы и усиленная безопасность загрузки моделей.

  • Added: Появился экспорт Keras-моделей в нативный PyTorch nn.Module и поддержка LiteRT для бэкенда PyTorch.
  • Added: В MultiHeadAttention и GroupedQueryAttention добавлен параметр sliding_window для эффективной работы с длинными контекстами.
  • Added: Реализован MultiOptimizer, позволяющий использовать разные оптимизаторы для разных подсетей модели.
  • Added: В keras.ops добавлены новые операции: pinv, ssim, sobel_edges, percentile, erfc и другие.
  • Breaking: Усилены меры безопасности: отключен pickle в np.load, заблокированы опасные ссылки в HDF5 и атаки на архивы при загрузке моделей.