keras-nightly 3.12.0.dev2025090303__tar.gz → 3.12.0.dev2025090403__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/PKG-INFO +1 -1
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/model.py +2 -2
- keras_nightly-3.12.0.dev2025090403/keras/src/quantizers/gptq.py +442 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/quantizers/gptq_config.py +3 -13
- keras_nightly-3.12.0.dev2025090403/keras/src/quantizers/gptq_core.py +388 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/quantizers/quantizers.py +200 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/version.py +1 -1
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras_nightly.egg-info/PKG-INFO +1 -1
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras_nightly.egg-info/SOURCES.txt +0 -1
- keras_nightly-3.12.0.dev2025090303/keras/src/quantizers/gptq.py +0 -350
- keras_nightly-3.12.0.dev2025090303/keras/src/quantizers/gptq_core.py +0 -335
- keras_nightly-3.12.0.dev2025090303/keras/src/quantizers/gptq_quant.py +0 -133
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/README.md +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/convnext/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/densenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/efficientnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/efficientnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/imagenet_utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/inception_resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/inception_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/mobilenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/mobilenet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/mobilenet_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/nasnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/resnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/resnet50/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/vgg16/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/vgg19/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/applications/xception/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/config/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/boston_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/california_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/cifar10/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/cifar100/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/fashion_mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/imdb/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/datasets/reuters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/mixed_precision/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/ops/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/ops/linalg/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/ops/nn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/ops/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/optimizers/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/preprocessing/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/preprocessing/sequence/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/preprocessing/text/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/utils/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/utils/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/_tf_keras/keras/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/convnext/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/densenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/efficientnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/efficientnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/imagenet_utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/inception_resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/inception_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/mobilenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/mobilenet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/mobilenet_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/nasnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/resnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/resnet50/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/vgg16/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/vgg19/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/applications/xception/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/config/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/boston_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/california_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/cifar10/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/cifar100/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/fashion_mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/imdb/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/datasets/reuters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/mixed_precision/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/ops/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/ops/linalg/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/ops/nn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/ops/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/optimizers/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/preprocessing/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/preprocessing/sequence/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/utils/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/utils/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/api/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/activations/activations.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/api_export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/convnext.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/densenet.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/efficientnet.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/efficientnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/imagenet_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/inception_resnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/inception_v3.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/mobilenet.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/mobilenet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/mobilenet_v3.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/nasnet.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/resnet.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/resnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/vgg16.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/vgg19.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/applications/xception.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/backend_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/dtypes.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/global_state.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/keras_tensor.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/masking.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/name_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/remat.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/stateless_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/symbolic_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/tensor_attributes.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/common/variables.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/config.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/sparse.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/jax/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/numpy/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/openvino/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/sparse.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/trackable.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/tensorflow/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/export.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_adadelta.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_adagrad.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_adam.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_adamax.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_adamw.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_lion.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_nadam.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_parallel_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_rmsprop.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/optimizers/torch_sgd.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/backend/torch/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/backup_and_restore.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/callback.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/callback_list.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/csv_logger.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/early_stopping.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/history.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/lambda_callback.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/learning_rate_scheduler.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/model_checkpoint.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/monitor_callback.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/progbar_logger.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/reduce_lr_on_plateau.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/remote_monitor.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/swap_ema_weights.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/callbacks/terminate_on_nan.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/constraints/constraints.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/boston_housing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/california_housing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/cifar.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/cifar10.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/cifar100.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/fashion_mnist.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/imdb.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/mnist.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/datasets/reuters.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/distribution/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/dtype_policies/dtype_policy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/dtype_policies/dtype_policy_map.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/export_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/onnx.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/openvino.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/saved_model.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/tf2onnx_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/export/tfsm_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/initializers/constant_initializers.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/initializers/initializer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/initializers/random_initializers.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/activation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/elu.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/leaky_relu.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/prelu.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/relu.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/activations/softmax.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/attention/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/attention/additive_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/attention/attention.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/attention/grouped_query_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/attention/multi_head_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/base_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/base_conv_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/base_depthwise_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/base_separable_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv1d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv2d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/conv3d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/depthwise_conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/depthwise_conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/separable_conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/convolutional/separable_conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/dense.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/einsum_dense.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/embedding.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/identity.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/input_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/lambda_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/masking.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/core/wrapper.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/input_spec.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/add.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/average.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/base_merge.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/concatenate.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/dot.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/maximum.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/minimum.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/multiply.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/merging/subtract.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/batch_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/group_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/layer_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/rms_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/spectral_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/normalization/unit_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/average_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/average_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/average_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/base_global_pooling.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/base_pooling.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_average_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_average_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_average_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_max_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_max_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/global_max_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/max_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/max_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/pooling/max_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/category_encoding.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/data_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/discretization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/feature_space.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/hashed_crossing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/hashing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/auto_contrast.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/bounding_box.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/converters.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/formats.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/iou.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/validation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/center_crop.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/equalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/mix_up.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_brightness.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_crop.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_flip.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_hue.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_invert.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_saturation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_shear.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_translation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/random_zoom.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/resizing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/image_preprocessing/solarization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/index_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/integer_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/mel_spectrogram.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/pipeline.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/rescaling.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/stft_spectrogram.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/string_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/preprocessing/text_vectorization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/activity_regularization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/alpha_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/gaussian_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/gaussian_noise.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/regularization/spatial_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/cropping1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/cropping2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/cropping3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/flatten.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/permute.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/repeat_vector.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/reshape.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/up_sampling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/up_sampling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/up_sampling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/zero_padding1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/zero_padding2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/reshaping/zero_padding3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/bidirectional.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/conv_lstm.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/conv_lstm1d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/conv_lstm2d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/conv_lstm3d.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/dropout_rnn_cell.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/gru.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/lstm.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/simple_rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/stacked_rnn_cells.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/layers/rnn/time_distributed.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/backend.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/layers.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/losses.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/preprocessing/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/preprocessing/sequence.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/preprocessing/text.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/json_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/legacy_h5_format.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/saving_options.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/saving_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/legacy/saving/serialization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/losses/loss.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/losses/losses.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/accuracy_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/confusion_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/correlation_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/f_score_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/hinge_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/iou_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/metric.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/metrics_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/probabilistic_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/reduction_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/metrics/regression_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/cloning.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/functional.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/sequential.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/variable_mapping.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/core.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/einops.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/function.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/image.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/math.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/node.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/operation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/operation_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/ops/symbolic_arguments.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adadelta.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adafactor.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adagrad.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adam.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adamax.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/adamw.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/base_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/ftrl.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/lamb.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/lion.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/loss_scale_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/muon.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/nadam.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/rmsprop.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/schedules/learning_rate_schedule.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/optimizers/sgd.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/random/random.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/random/seed_generator.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/regularizers/regularizers.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/file_editor.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/keras_saveable.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/object_registration.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/saving_api.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/saving_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/saving/serialization_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/testing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/testing/test_case.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/testing/test_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/compile_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/array_data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/array_slicing.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/data_adapter_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/generator_data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/grain_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/py_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/tf_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/data_adapters/torch_data_loader_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/epoch_iterator.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/trainers/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/tree/dmtree_impl.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/tree/optree_impl.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/tree/tree_api.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/argument_validation.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/audio_dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/backend_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/code_stats.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/config.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/dtype_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/file_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/grain_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/image_dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/image_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/io_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/jax_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/jax_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/model_visualization.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/module_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/naming.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/numerical_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/progbar.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/python_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/rng_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/sequence_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/summary_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/text_dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/tf_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/timeseries_dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/torch_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/traceback_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/utils/tracking.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/draw_bounding_boxes.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/draw_segmentation_masks.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/plot_bounding_box_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/plot_image_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/visualization/plot_segmentation_mask_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/wrappers/fixes.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/wrappers/sklearn_wrapper.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/wrappers/utils.py +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras_nightly.egg-info/dependency_links.txt +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras_nightly.egg-info/requires.txt +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras_nightly.egg-info/top_level.txt +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/pyproject.toml +0 -0
- {keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/setup.cfg +0 -0
{keras_nightly-3.12.0.dev2025090303 → keras_nightly-3.12.0.dev2025090403}/keras/src/models/model.py
RENAMED
@@ -9,6 +9,7 @@ from keras.src.api_export import keras_export
|
|
9
9
|
from keras.src.layers.layer import Layer
|
10
10
|
from keras.src.models.variable_mapping import map_saveable_variables
|
11
11
|
from keras.src.quantizers.gptq_config import GPTQConfig
|
12
|
+
from keras.src.quantizers.gptq_core import gptq_quantize
|
12
13
|
from keras.src.saving import saving_api
|
13
14
|
from keras.src.trainers import trainer as base_trainer
|
14
15
|
from keras.src.utils import summary_utils
|
@@ -440,8 +441,7 @@ class Model(Trainer, base_trainer.Trainer, Layer):
|
|
440
441
|
"The `config` argument must be of type "
|
441
442
|
"`keras.quantizers.GPTQConfig`."
|
442
443
|
)
|
443
|
-
|
444
|
-
config.quantize(self)
|
444
|
+
gptq_quantize(self, config)
|
445
445
|
return
|
446
446
|
|
447
447
|
# For all other modes, verify that a config object was not passed.
|
@@ -0,0 +1,442 @@
|
|
1
|
+
import types
|
2
|
+
|
3
|
+
from keras.src import ops
|
4
|
+
from keras.src.layers import Dense
|
5
|
+
from keras.src.layers import EinsumDense
|
6
|
+
from keras.src.ops import linalg
|
7
|
+
from keras.src.quantizers.gptq_config import GPTQConfig
|
8
|
+
from keras.src.quantizers.quantizers import GPTQQuantizer
|
9
|
+
from keras.src.quantizers.quantizers import compute_quantization_parameters
|
10
|
+
from keras.src.quantizers.quantizers import dequantize_with_zero_point
|
11
|
+
from keras.src.quantizers.quantizers import quantize_with_zero_point
|
12
|
+
|
13
|
+
|
14
|
+
def _stable_permutation(metric):
|
15
|
+
"""Return a stable permutation that sorts `metric` in descending order.
|
16
|
+
Uses an index-based jitter to break ties deterministically."""
|
17
|
+
n = ops.shape(metric)[0]
|
18
|
+
idx = ops.arange(0, n, dtype="int32")
|
19
|
+
|
20
|
+
# tiny jitter = (idx / n) * 1e-12 so it never flips a real strict ordering
|
21
|
+
jitter = ops.divide(ops.cast(idx, "float32"), ops.cast(n, "float32"))
|
22
|
+
metric_jittered = ops.add(metric, ops.multiply(jitter, 1e-12))
|
23
|
+
|
24
|
+
# argsort by negative to get descending
|
25
|
+
return ops.argsort(ops.negative(metric_jittered))
|
26
|
+
|
27
|
+
|
28
|
+
def gptq_quantize_matrix(
|
29
|
+
weights_transpose,
|
30
|
+
inv_hessian,
|
31
|
+
*,
|
32
|
+
blocksize=128,
|
33
|
+
group_size=-1,
|
34
|
+
activation_order=False,
|
35
|
+
order_metric=None,
|
36
|
+
compute_scale_zero=compute_quantization_parameters,
|
37
|
+
):
|
38
|
+
"""
|
39
|
+
Implements the GPTQ error correction updates.
|
40
|
+
|
41
|
+
For a single column update (column j):
|
42
|
+
e = invH[j, j] * (w_j - q_j)
|
43
|
+
W[:, j+1:] -= e * invH[j, j+1:]
|
44
|
+
where:
|
45
|
+
- w_j is the original column,
|
46
|
+
- q_j is the quantized column,
|
47
|
+
- invH is the inverse Hessian,
|
48
|
+
- e is the propagated error term.
|
49
|
+
|
50
|
+
Across entire blocks:
|
51
|
+
W[:, future] -= E_block * invH[block, future]
|
52
|
+
where:
|
53
|
+
- E_block is the quantization error accumulated for the current block,
|
54
|
+
- invH[block, future] denotes the cross-block slice of the inverse Hessian,
|
55
|
+
- W[:, future] are the columns yet to be quantized.
|
56
|
+
|
57
|
+
Args:
|
58
|
+
weights_transpose: Transposed weight matrix [out_features, in_features]
|
59
|
+
to quantize.
|
60
|
+
inv_hessian: Inverse Hessian matrix [in_features, in_features] for
|
61
|
+
error propagation.
|
62
|
+
blocksize: Size of the blocks to process (default: 128).
|
63
|
+
group_size: Size of the groups for parameter reuse
|
64
|
+
(default: -1, no grouping).
|
65
|
+
activation_order: Whether to apply activation-order permutation
|
66
|
+
(default: False).
|
67
|
+
order_metric: Metric for ordering features
|
68
|
+
(default: None, uses 1 / diag(invH)).
|
69
|
+
compute_scale_zero: Function to compute scale and zero for
|
70
|
+
quantization.
|
71
|
+
"""
|
72
|
+
in_features = ops.shape(weights_transpose)[1]
|
73
|
+
|
74
|
+
# Optional activation-order permutation on feature axis (axis=1)
|
75
|
+
if activation_order:
|
76
|
+
if order_metric is None:
|
77
|
+
# Use 1 / diag(inverse_hessian) as importance proxy if H not
|
78
|
+
# available.
|
79
|
+
order_metric = ops.reciprocal(
|
80
|
+
ops.add(ops.diagonal(inv_hessian), 1e-12)
|
81
|
+
)
|
82
|
+
else:
|
83
|
+
# sanitize provided metric
|
84
|
+
order_metric = ops.cast(order_metric, "float32")
|
85
|
+
order_metric = ops.where(
|
86
|
+
ops.isfinite(order_metric),
|
87
|
+
order_metric,
|
88
|
+
ops.zeros_like(order_metric),
|
89
|
+
)
|
90
|
+
|
91
|
+
# Sort in descending order by importance
|
92
|
+
perm = _stable_permutation(order_metric)
|
93
|
+
inv_perm = ops.argsort(perm)
|
94
|
+
|
95
|
+
weights_transpose = ops.take(weights_transpose, perm, axis=1)
|
96
|
+
inv_hessian = ops.take(
|
97
|
+
ops.take(inv_hessian, perm, axis=0), perm, axis=1
|
98
|
+
)
|
99
|
+
else:
|
100
|
+
perm = inv_perm = None
|
101
|
+
|
102
|
+
# weights_buffer: [out_features, in_features]
|
103
|
+
weights_buffer = weights_transpose
|
104
|
+
# quantized_weights_buffer: [out_features, in_features]
|
105
|
+
quantized_weights_buffer = ops.zeros_like(weights_buffer)
|
106
|
+
|
107
|
+
# Process features in blocks
|
108
|
+
for block_start in range(0, in_features, blocksize):
|
109
|
+
block_end = min(block_start + blocksize, in_features)
|
110
|
+
block_size = block_end - block_start
|
111
|
+
|
112
|
+
# Block views
|
113
|
+
# block_weights: [out_features, bsize]
|
114
|
+
block_weights = weights_buffer[:, block_start:block_end]
|
115
|
+
# block_weights_quantized: [out_features, bsize]
|
116
|
+
block_weights_quantized = ops.zeros_like(block_weights)
|
117
|
+
# block_error: [out_features, bsize]
|
118
|
+
block_error = ops.zeros_like(block_weights)
|
119
|
+
# block_inv_hessian: [bsize, bsize]
|
120
|
+
block_inv_hessian = inv_hessian[
|
121
|
+
block_start:block_end, block_start:block_end
|
122
|
+
]
|
123
|
+
|
124
|
+
# group cache for per-group s/z/maxq reuse
|
125
|
+
cached_scale = None
|
126
|
+
cached_zero = None
|
127
|
+
cached_maxq = None
|
128
|
+
cached_group_start = -1
|
129
|
+
|
130
|
+
for block_idx in range(block_size):
|
131
|
+
global_idx = block_start + block_idx
|
132
|
+
# weight_column: [out_features,]
|
133
|
+
weight_column = block_weights[:, block_idx]
|
134
|
+
|
135
|
+
# Group-wise parameter reuse (compute once per group)
|
136
|
+
if group_size != -1:
|
137
|
+
# Determine group boundaries
|
138
|
+
group_start = (global_idx // group_size) * group_size
|
139
|
+
if group_start != cached_group_start:
|
140
|
+
group_end = min(group_start + group_size, in_features)
|
141
|
+
# group_slice: [out_features, group_len]
|
142
|
+
group_slice = weights_buffer[:, group_start:group_end]
|
143
|
+
cached_scale, cached_zero, cached_maxq = compute_scale_zero(
|
144
|
+
group_slice, weight=True
|
145
|
+
)
|
146
|
+
cached_group_start = group_start
|
147
|
+
scale, zero, maxq = cached_scale, cached_zero, cached_maxq
|
148
|
+
else:
|
149
|
+
# Per-column params
|
150
|
+
scale, zero, maxq = compute_scale_zero(
|
151
|
+
ops.expand_dims(weight_column, 1), weight=True
|
152
|
+
)
|
153
|
+
|
154
|
+
# Quantize one column
|
155
|
+
# quantized_column: [out_features,]
|
156
|
+
quantized_column = quantize_with_zero_point(
|
157
|
+
ops.expand_dims(weight_column, 1), scale, zero, maxq
|
158
|
+
)
|
159
|
+
quantized_column = dequantize_with_zero_point(
|
160
|
+
quantized_column, scale, zero
|
161
|
+
)[:, 0]
|
162
|
+
block_weights_quantized = ops.slice_update(
|
163
|
+
block_weights_quantized,
|
164
|
+
(0, block_idx),
|
165
|
+
ops.expand_dims(quantized_column, 1),
|
166
|
+
)
|
167
|
+
|
168
|
+
# Error feedback for remaining columns within the block
|
169
|
+
# diag: [out_features,]
|
170
|
+
diag = block_inv_hessian[block_idx, block_idx]
|
171
|
+
# error = (col - quantized_col) / block_inv_hessian[idx, idx]
|
172
|
+
# error: [out_features,]
|
173
|
+
error = ops.divide(
|
174
|
+
ops.subtract(weight_column, quantized_column), diag
|
175
|
+
)
|
176
|
+
# block_error: [out_features, bsize]
|
177
|
+
block_error = ops.slice_update(
|
178
|
+
block_error, (0, block_idx), ops.expand_dims(error, 1)
|
179
|
+
)
|
180
|
+
|
181
|
+
if block_idx < block_size - 1:
|
182
|
+
update = ops.matmul(
|
183
|
+
ops.expand_dims(error, 1),
|
184
|
+
ops.expand_dims(
|
185
|
+
block_inv_hessian[block_idx, block_idx + 1 :], 0
|
186
|
+
),
|
187
|
+
)
|
188
|
+
tail = block_weights[:, block_idx + 1 :]
|
189
|
+
block_weights = ops.slice_update(
|
190
|
+
block_weights,
|
191
|
+
(0, block_idx + 1),
|
192
|
+
ops.subtract(tail, update),
|
193
|
+
)
|
194
|
+
|
195
|
+
# Write block’s quantized columns into result
|
196
|
+
left = quantized_weights_buffer[:, :block_start]
|
197
|
+
right = quantized_weights_buffer[:, block_end:]
|
198
|
+
quantized_weights_buffer = ops.concatenate(
|
199
|
+
[left, block_weights_quantized, right], axis=1
|
200
|
+
)
|
201
|
+
|
202
|
+
# Propagate block errors to *future* features (beyond the block)
|
203
|
+
if block_end < in_features:
|
204
|
+
# weights_buffer[:, block_end:] -=
|
205
|
+
# block_error @ invH[block_start:block_end, block_end:]
|
206
|
+
# total_update: [out_features, bsize]
|
207
|
+
total_update = ops.matmul(
|
208
|
+
block_error, inv_hessian[block_start:block_end, block_end:]
|
209
|
+
)
|
210
|
+
weights_buffer = ops.concatenate(
|
211
|
+
[
|
212
|
+
weights_buffer[:, :block_end],
|
213
|
+
ops.subtract(weights_buffer[:, block_end:], total_update),
|
214
|
+
],
|
215
|
+
axis=1,
|
216
|
+
)
|
217
|
+
|
218
|
+
# Undo permutation if used
|
219
|
+
if activation_order:
|
220
|
+
quantized_weights_buffer = ops.take(
|
221
|
+
quantized_weights_buffer, inv_perm, axis=1
|
222
|
+
)
|
223
|
+
|
224
|
+
return quantized_weights_buffer
|
225
|
+
|
226
|
+
|
227
|
+
class GPTQ:
|
228
|
+
def __init__(self, layer, config=GPTQConfig(tokenizer=None, dataset=None)):
|
229
|
+
self.original_layer = layer
|
230
|
+
self.num_samples = 0
|
231
|
+
self.config = config
|
232
|
+
self.quantizer = GPTQQuantizer(config)
|
233
|
+
|
234
|
+
# Explicitly handle each supported layer type
|
235
|
+
if isinstance(layer, Dense) or (
|
236
|
+
isinstance(layer, EinsumDense) and layer.kernel.ndim == 2
|
237
|
+
):
|
238
|
+
# For a standard Dense layer, the dimensions are straightforward.
|
239
|
+
self.kernel_shape = layer.kernel.shape
|
240
|
+
# rows: [input_features]
|
241
|
+
self.rows = self.kernel_shape[0]
|
242
|
+
# columns: [output_features]
|
243
|
+
self.columns = self.kernel_shape[1]
|
244
|
+
self.layer = layer
|
245
|
+
|
246
|
+
# Handle 3D EinsumDense layers (typically from attention blocks).
|
247
|
+
elif isinstance(layer, EinsumDense) and layer.kernel.ndim == 3:
|
248
|
+
# For EinsumDense, we determine the effective 2D dimensions.
|
249
|
+
self.kernel_shape = layer.kernel.shape
|
250
|
+
shape = list(self.kernel_shape)
|
251
|
+
try:
|
252
|
+
d_model_dim_index = shape.index(max(shape))
|
253
|
+
except ValueError:
|
254
|
+
raise TypeError(
|
255
|
+
f"Could not determine hidden dimension from shape {shape}"
|
256
|
+
)
|
257
|
+
|
258
|
+
if d_model_dim_index == 0: # QKV projection case
|
259
|
+
in_features, heads, head_dim = shape
|
260
|
+
self.rows, self.columns = (
|
261
|
+
in_features,
|
262
|
+
ops.multiply(heads, head_dim),
|
263
|
+
)
|
264
|
+
elif d_model_dim_index in [1, 2]: # Attention Output case
|
265
|
+
heads, head_dim, out_features = shape
|
266
|
+
self.rows, self.columns = (
|
267
|
+
ops.multiply(heads, head_dim),
|
268
|
+
out_features,
|
269
|
+
)
|
270
|
+
|
271
|
+
# Create a temporary object that holds a reshaped
|
272
|
+
# 2D version of the kernel.
|
273
|
+
self.layer = types.SimpleNamespace(
|
274
|
+
kernel=ops.reshape(layer.kernel, (self.rows, self.columns)),
|
275
|
+
bias=layer.bias,
|
276
|
+
)
|
277
|
+
|
278
|
+
else:
|
279
|
+
# Raise an error if the layer is not supported.
|
280
|
+
raise TypeError(f"Unsupported layer type for GPTQ: {type(layer)}")
|
281
|
+
self.hessian = ops.zeros((self.rows, self.rows), dtype="float32")
|
282
|
+
|
283
|
+
def update_hessian_with_batch(self, input_batch):
|
284
|
+
"""
|
285
|
+
Updates the running average of the Hessian matrix with a new batch.
|
286
|
+
|
287
|
+
This method computes the Hessian matrix for a given batch of input
|
288
|
+
activations and updates the accumulated Hessian (`self.hessian`) using a
|
289
|
+
numerically stable running average. This allows the Hessian to be
|
290
|
+
computed over a large dataset without loading all samples into memory
|
291
|
+
at once.
|
292
|
+
|
293
|
+
The input tensor is first reshaped into a 2D matrix [num_samples,
|
294
|
+
num_features] before the Hessian is calculated.
|
295
|
+
|
296
|
+
Args:
|
297
|
+
input_batch: A 2D or higher-dimensional tensor of input activations
|
298
|
+
from a calibration batch.
|
299
|
+
|
300
|
+
Raises:
|
301
|
+
ValueError: If the feature dimension of the input tensor
|
302
|
+
`input_batch` does not match the dimensions of the
|
303
|
+
pre-initialized Hessian matrix `self.hessian`.
|
304
|
+
"""
|
305
|
+
if input_batch is None:
|
306
|
+
raise ValueError("Input tensor cannot be None.")
|
307
|
+
if len(input_batch.shape) < 2:
|
308
|
+
raise ValueError(
|
309
|
+
"Input tensor must have rank >= 2 "
|
310
|
+
f"(got rank {len(input_batch.shape)})."
|
311
|
+
)
|
312
|
+
if ops.size(input_batch) == 0:
|
313
|
+
raise ValueError("Input tensor cannot be empty.")
|
314
|
+
|
315
|
+
if len(input_batch.shape) > 2:
|
316
|
+
# [batch, features]
|
317
|
+
input_batch = ops.reshape(input_batch, (-1, input_batch.shape[-1]))
|
318
|
+
x = ops.cast(input_batch, "float32")
|
319
|
+
|
320
|
+
num_new_samples = ops.shape(x)[0]
|
321
|
+
num_prev_samples = self.num_samples
|
322
|
+
total_samples = ops.add(num_prev_samples, num_new_samples)
|
323
|
+
|
324
|
+
if ops.shape(self.hessian)[0] != ops.shape(x)[-1]:
|
325
|
+
raise ValueError(
|
326
|
+
f"Hessian dimensions ({ops.shape(self.hessian)[0]}) do not "
|
327
|
+
f"match input features ({ops.shape(x)[-1]})."
|
328
|
+
)
|
329
|
+
|
330
|
+
# gram_matrix: [features, features]
|
331
|
+
gram_matrix = ops.matmul(ops.transpose(x), x)
|
332
|
+
# Ensures numerical stability and symmetry in case of large floating
|
333
|
+
# point activations.
|
334
|
+
gram_matrix = ops.divide(
|
335
|
+
ops.add(gram_matrix, ops.transpose(gram_matrix)), 2.0
|
336
|
+
)
|
337
|
+
|
338
|
+
# Decay previous mean and add current per-sample contribution
|
339
|
+
# (factor 2/N)
|
340
|
+
if self.num_samples > 0:
|
341
|
+
self.hessian = ops.multiply(
|
342
|
+
self.hessian, ops.divide(num_prev_samples, total_samples)
|
343
|
+
)
|
344
|
+
self.hessian = ops.add(
|
345
|
+
self.hessian,
|
346
|
+
ops.multiply(ops.divide(2.0, total_samples), gram_matrix),
|
347
|
+
)
|
348
|
+
|
349
|
+
self.num_samples = self.num_samples + ops.shape(x)[0] or 0
|
350
|
+
|
351
|
+
def quantize_and_correct_layer(
|
352
|
+
self,
|
353
|
+
blocksize=128,
|
354
|
+
):
|
355
|
+
"""
|
356
|
+
Performs GPTQ quantization and correction on the layer's weights.
|
357
|
+
|
358
|
+
This method implements the core logic of the "Optimal Brain Quant"
|
359
|
+
(OBQ) method, as applied by GPTQ, to quantize the weights of a single
|
360
|
+
layer. It iteratively quantizes blocks of weights and corrects for the
|
361
|
+
quantization error by updating the remaining weights.
|
362
|
+
|
363
|
+
The algorithm follows these main steps:
|
364
|
+
1. Initialization: It optionally reorders the weight columns based
|
365
|
+
on activation magnitudes (`activation_order=True`) to protect more
|
366
|
+
salient
|
367
|
+
weights.
|
368
|
+
2. Hessian Modification: The Hessian matrix, pre-computed from
|
369
|
+
calibration data, is dampened to ensure its invertibility and
|
370
|
+
stability.
|
371
|
+
3. Iterative Quantization: The function iterates through the
|
372
|
+
weight columns in blocks (`blocksize`). In each iteration, it:
|
373
|
+
a. Quantizes one column.
|
374
|
+
b. Calculates the quantization error.
|
375
|
+
c. Updates the remaining weights in the *current* block by
|
376
|
+
distributing the error, using the inverse Hessian.
|
377
|
+
4. Block-wise Correction: After a block is quantized, the total
|
378
|
+
error from that block is propagated to the *next* block of weights
|
379
|
+
to be processed.
|
380
|
+
5. Finalization: The quantized weights are reordered back if
|
381
|
+
`activation_order` was used, and the layer's weights are updated.
|
382
|
+
|
383
|
+
This implementation is based on the official GPTQ paper and repository.
|
384
|
+
For more details, see:
|
385
|
+
- Paper: https://arxiv.org/abs/2210.17323
|
386
|
+
- Original Code: https://github.com/IST-DASLab/gptq
|
387
|
+
|
388
|
+
Args:
|
389
|
+
blocksize: (int, optional) The size of the weight block to process
|
390
|
+
at a time. Defaults to 128.
|
391
|
+
"""
|
392
|
+
|
393
|
+
weights_matrix = ops.transpose(self.layer.kernel)
|
394
|
+
|
395
|
+
# Dampen the Hessian for Stability
|
396
|
+
hessian_diagonal = ops.diagonal(self.hessian)
|
397
|
+
dead_diagonal = ops.equal(hessian_diagonal, 0.0)
|
398
|
+
hessian_diagonal = ops.where(dead_diagonal, 1.0, hessian_diagonal)
|
399
|
+
hessian_matrix = ops.add(
|
400
|
+
self.hessian,
|
401
|
+
ops.diag(
|
402
|
+
ops.where(dead_diagonal, 1.0, ops.zeros_like(hessian_diagonal))
|
403
|
+
),
|
404
|
+
)
|
405
|
+
|
406
|
+
# Add dampening factor to the Hessian diagonal
|
407
|
+
damping_factor = ops.multiply(
|
408
|
+
self.config.hessian_damping, ops.mean(hessian_diagonal)
|
409
|
+
)
|
410
|
+
hessian_diagonal = ops.add(hessian_diagonal, damping_factor)
|
411
|
+
hessian_matrix = ops.add(
|
412
|
+
ops.subtract(
|
413
|
+
hessian_matrix, ops.diag(ops.diagonal(hessian_matrix))
|
414
|
+
),
|
415
|
+
ops.diag(hessian_diagonal),
|
416
|
+
)
|
417
|
+
|
418
|
+
# Compute the inverse Hessian, which is used for error correction
|
419
|
+
inverse_hessian = linalg.inv(hessian_matrix)
|
420
|
+
|
421
|
+
quantized_weights = gptq_quantize_matrix(
|
422
|
+
weights_matrix,
|
423
|
+
inv_hessian=inverse_hessian,
|
424
|
+
blocksize=blocksize,
|
425
|
+
group_size=self.config.group_size,
|
426
|
+
activation_order=self.config.activation_order,
|
427
|
+
order_metric=ops.diagonal(hessian_matrix),
|
428
|
+
compute_scale_zero=self.quantizer.find_params,
|
429
|
+
)
|
430
|
+
|
431
|
+
quantized_weights = ops.transpose(quantized_weights)
|
432
|
+
|
433
|
+
if isinstance(self.original_layer, EinsumDense):
|
434
|
+
quantized_weights = ops.reshape(
|
435
|
+
quantized_weights, self.kernel_shape
|
436
|
+
)
|
437
|
+
|
438
|
+
# Set the new quantized weights in the original layer
|
439
|
+
self.original_layer._kernel.assign(quantized_weights)
|
440
|
+
|
441
|
+
def free(self):
|
442
|
+
self.hessian = None
|
@@ -1,7 +1,4 @@
|
|
1
|
-
from absl import logging
|
2
|
-
|
3
1
|
from keras.src.api_export import keras_export
|
4
|
-
from keras.src.quantizers.gptq_core import quantize_model
|
5
2
|
|
6
3
|
|
7
4
|
@keras_export("keras.quantizers.GPTQConfig")
|
@@ -140,8 +137,10 @@ class GPTQConfig:
|
|
140
137
|
self,
|
141
138
|
dataset,
|
142
139
|
tokenizer,
|
140
|
+
*,
|
143
141
|
weight_bits: int = 4,
|
144
142
|
num_samples: int = 128,
|
143
|
+
per_channel: bool = True,
|
145
144
|
sequence_length: int = 512,
|
146
145
|
hessian_damping: float = 0.01,
|
147
146
|
group_size: int = 128,
|
@@ -151,19 +150,10 @@ class GPTQConfig:
|
|
151
150
|
self.dataset = dataset
|
152
151
|
self.tokenizer = tokenizer
|
153
152
|
self.num_samples = num_samples
|
153
|
+
self.per_channel = per_channel
|
154
154
|
self.sequence_length = sequence_length
|
155
155
|
self.hessian_damping = hessian_damping
|
156
156
|
self.weight_bits = weight_bits
|
157
157
|
self.group_size = group_size
|
158
158
|
self.symmetric = symmetric
|
159
159
|
self.activation_order = activation_order
|
160
|
-
|
161
|
-
def quantize(self, model):
|
162
|
-
"""
|
163
|
-
Applies GPTQ quantization to the provided model using this
|
164
|
-
configuration.
|
165
|
-
"""
|
166
|
-
logging.info("Initiating quantization from GPTQConfig...")
|
167
|
-
# The core logic is now delegated to gptqutils, which will handle
|
168
|
-
# the dynamic imports and data loading.
|
169
|
-
quantize_model(model=model, config=self)
|