← All reportsPublic report

keras-team/keras

Deep Learning for humans

64k stars Python View on GitHubprofiled 11d ago
Try GitZoid
92PRs this week
33Contributors
0Deps scanned
0Issues found
01 · Repo overview

How keras is put together

This is the keras-team/keras repository: a pure-Python deep learning framework ('Multi-backend Keras') that provides the Keras 3 API (layers, models, optimizers, ops, callbacks, etc.) on top of pluggable backends (TensorFlow, JAX, PyTorch, OpenVINO). The public API lives in `keras/api` as autogenerated re-export modules (generated by `api_gen.py` via `namex`) pointing into implementation code under `keras/src`. A legacy compatibility package `keras/api/_tf_keras` mirrors the full API for tf_keras users. There is no server, datastore, or network service; data flow is user code -> public API -> backend-specific tensor operations.

Languages

Python

Frameworks

Keras 3 (multi-backend)TensorFlowJAXPyTorchOpenVINOpytestruffsetuptools

Infrastructure

GitHub Actions (.github/workflows/actions.yml referenced)Dev containers / GitHub Codespaces (.devcontainer/devcontainer.json)Codecov (codecov.yml)pre-commit (.pre-commit-config.yaml)

Major components

keras/api (public API surface)

Autogenerated 'DO NOT EDIT' re-export modules exposing activations, layers, models, optimizers, ops, saving, etc., plus the `_tf_keras` legacy mirror.

keras/src/backend

Backend abstraction layer with per-backend implementations (jax, tensorflow, torch, openvino) selected via keras/src/backend/config.py.

keras/src/layers & models

Core neural-network building blocks: Layer base class, InputLayer/InputSpec, Model and Sequential with training/evaluation loops.

keras/src/ops

Backend-agnostic tensor operations (Operation/Function classes) exposed through the `keras.ops` namespace.

keras/src/callbacks

Training lifecycle hooks including ModelCheckpoint, TensorBoard, CSVLogger, EarlyStopping, RemoteMonitor, and Orbax checkpointing.

keras/src/export

Model export to external formats: LiteRT, ONNX, OpenVINO, SavedModel, Torch export archives.

keras/src/applications

Pretrained vision architectures (ResNet, VGG, MobileNet, EfficientNet, ConvNeXt, etc.) with ImageNet utilities.

keras/src/datasets

Small built-in datasets (MNIST, CIFAR, IMDB, Reuters, housing) downloaded and loaded via npz_utils.

Over the past five weeks, Keras development focused heavily on model quantization (GPTQ, AWQ, int4/ternary weights) and on expanding backend support, including initial MLX support and a pluggable-backend refactor. Alongside these bigger efforts, the team shipped a steady stream of bug fixes across TensorFlow, NumPy, JAX, PyTorch, and OpenVINO backends, plus improvements to data handling, losses, metrics, and developer tooling. The final week was quiet with a single cleanup commit normalizing tensor-checking APIs.

Week by week

2026-08-24A quiet week with one small API cleanup unifying how code checks whether something is a tensor.latest1 change

Refactor

Unified tensor-checking helper

Standardized the is_tensor check so all backends use the same shared implementation instead of per-backend versions.

2026-08-17Quantization got a major correctness pass, with GPTQ batching, AWQ alignment to the reference method, and a sweep of quantizer bugs, alongside security hardening for Keras files.6 changes

Refactor

Faster GPTQ calibration

Batched the calibration forward passes and switched to a Cholesky-based inverse-Hessian computation to speed up GPTQ quantization.

Fix

AWQ aligned with reference implementation

Updated AWQ quantization to match the official reference by using mean statistics, weight-aware scaling, and clipping.

Fix

Quantizer bug sweep

Fixed several quantization bugs including keyword arguments in get(), group-index loading, and 2-bit GPTQ correctness.

Fix

Security fixes for Keras files

Added protections against decompression-bomb config files and validated file names derived from remote origins in the Keras file editor.

Fix

Loss and searchsorted fixes

Fixed categorical crossentropy label smoothing for custom axes and corrected multi-dimensional searchsorted behavior in the TensorFlow backend.

Chore

Pluggable backend rewind

Reverted recent pluggable-backend commits to restore master to a known-good state while that work is reworked.

2026-08-10The week centered on fixing edge cases in core math operations across backends, especially bitwise ops, array rotations, and index lookups.6 changes

Fix

Bitwise op fixes for scalar inputs

Corrected shape and dtype resolution when bitwise and shift operations are used with scalar inputs.

Fix

rot90 fix for non-square arrays

Fixed 90-degree array rotation in the TensorFlow backend so it works correctly on non-square arrays.

Fix

unravel_index coordinate order fix

Corrected the coordinate ordering returned by unravel_index in the TensorFlow backend.

Feature

cbrt fallback added

Added a fallback cube-root implementation for backends that lack native support for the operation.

Fix

cross() compatibility with NumPy 2.5

Fixed the cross-product operation and its tests to work with NumPy version 2.5.0 and later.

Refactor

Loss scale optimizer cleanup

Extracted a shared gradient-unscaling helper inside LossScaleOptimizer to reduce duplication.

2026-08-03A busy week headlined by initial MLX backend support and the first pluggable-backend refactor, plus many fixes to ops, quantization, and training utilities.6 changes

Feature

Initial MLX support

Landed the first working support for Apple's MLX framework as a Keras backend.

Refactor

Pluggable backend refactor begins

Started restructuring the codebase to make it easier to plug in custom third-party backends.

Feature

gammainc op added

Implemented the incomplete gamma function in keras.ops for mathematical computations.

Feature

PyTorch DTensor distribution utilities

Added robust and optimized distributed-tensor utilities for running models across devices with the PyTorch backend.

Fix

LoRA freezing fix for int4 layers

Fixed enable_lora so it freezes the embedding variable itself rather than the unpacked int4 tensor.

Refactor

Faster array unstacking

Optimized splitting arrays into lists of tensors in the NumPy and JAX backends.

2026-07-27The busiest week, adding ternary-weight layers and PyTorch data parallelism, improving OpenVINO performance, and fixing numerous loss, metric, and backend bugs.6 changes

Feature

TernaryDense layer added

Introduced a new dense layer using ternary weights (-1, 0, +1) for more compact models.

Feature

PyTorch data parallelism

Added data-parallel training support so models can train across multiple GPUs with the PyTorch backend.

Refactor

OpenVINO speedups

Improved OpenVINO performance with dynamic-shape support for diagonal ops, native adaptive pooling, and faster sort/median operations.

Fix

Tversky loss parameter swap fixed

Corrected alpha and beta parameters being swapped in the Tversky loss function.

Fix

R2Score sample counting fixed

Fixed incorrect inflation of the sample count in the R2Score metric and refactored it for readability.

Fix

GPTQ/AWQ layer coverage fix

Fixed quantization so layers outside the standard quantization structure are handled correctly by GPTQ and AWQ.

03 · Security check

Dependencies and code review

0 dependencies scanned

Dependency advisories

Security Watch

No known advisories across 0 scanned dependencies.

No known advisories in the scanned dependencies.

Code review

No concrete code-level issues confirmed.

Get this report every week for your repos.

GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.

$19 a month, flat · First 10 outputs free · No card required