keras-nightly 3.12.0.dev2025081903__tar.gz → 3.12.0.dev2025082003__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.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/PKG-INFO +1 -1
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/audio_dataset_utils.py +1 -1
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/dataset_utils.py +83 -8
- keras_nightly-3.12.0.dev2025082003/keras/src/utils/grain_utils.py +33 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/image_dataset_utils.py +238 -16
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/module_utils.py +1 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/text_dataset_utils.py +141 -16
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/version.py +1 -1
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/PKG-INFO +1 -1
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/SOURCES.txt +1 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/README.md +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/convnext/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/densenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/efficientnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/efficientnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/imagenet_utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/inception_resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/inception_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/nasnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet50/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/vgg16/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/vgg19/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/xception/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/config/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/boston_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/california_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/cifar10/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/cifar100/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/fashion_mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/imdb/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/reuters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/mixed_precision/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/linalg/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/nn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/sequence/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/text/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/convnext/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/densenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/efficientnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/efficientnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/imagenet_utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/inception_resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/inception_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet_v3/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/nasnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet50/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet_v2/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/vgg16/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/vgg19/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/xception/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/config/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/boston_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/california_housing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/cifar10/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/cifar100/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/fashion_mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/imdb/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/mnist/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/reuters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/mixed_precision/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/linalg/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/nn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/image/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/sequence/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/activations/activations.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/api_export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/convnext.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/densenet.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/efficientnet.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/efficientnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/imagenet_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/inception_resnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/inception_v3.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet_v3.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/nasnet.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/resnet.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/resnet_v2.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/vgg16.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/vgg19.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/xception.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/backend_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/dtypes.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/global_state.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/keras_tensor.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/masking.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/name_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/remat.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/stateless_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/symbolic_scope.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/tensor_attributes.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/variables.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/config.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/sparse.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/sparse.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/trackable.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/export.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adadelta.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adagrad.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adam.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adamax.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adamw.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_lion.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_nadam.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_parallel_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_rmsprop.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_sgd.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/backup_and_restore.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/callback.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/callback_list.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/csv_logger.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/early_stopping.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/history.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/lambda_callback.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/learning_rate_scheduler.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/model_checkpoint.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/monitor_callback.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/progbar_logger.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/reduce_lr_on_plateau.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/remote_monitor.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/swap_ema_weights.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/tensorboard.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/terminate_on_nan.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/constraints/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/constraints/constraints.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/boston_housing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/california_housing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar10.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar100.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/fashion_mnist.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/imdb.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/mnist.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/reuters.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/distribution/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/distribution/distribution_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/dtype_policy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/dtype_policy_map.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/export_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/onnx.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/openvino.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/saved_model.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/tf2onnx_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/tfsm_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/constant_initializers.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/initializer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/random_initializers.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/activation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/elu.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/leaky_relu.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/prelu.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/relu.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/softmax.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/additive_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/attention.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/grouped_query_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/multi_head_attention.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_conv_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_depthwise_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_separable_conv.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv1d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv2d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv3d_transpose.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/depthwise_conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/depthwise_conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/separable_conv1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/separable_conv2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/dense.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/einsum_dense.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/embedding.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/identity.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/input_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/lambda_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/masking.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/wrapper.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/input_spec.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/add.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/average.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/base_merge.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/concatenate.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/dot.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/maximum.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/minimum.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/multiply.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/subtract.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/batch_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/group_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/layer_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/rms_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/spectral_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/unit_normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/base_global_pooling.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/base_pooling.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/category_encoding.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/discretization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/feature_space.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/hashed_crossing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/hashing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/auto_contrast.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/base_image_preprocessing_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/bounding_box.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/converters.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/formats.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/iou.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/validation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/center_crop.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/equalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/max_num_bounding_box.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/mix_up.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_brightness.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_crop.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_flip.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_hue.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_invert.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_saturation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_shear.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_translation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_zoom.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/resizing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/solarization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/index_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/integer_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/mel_spectrogram.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/normalization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/pipeline.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/rescaling.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/stft_spectrogram.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/string_lookup.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/text_vectorization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/tf_data_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/activity_regularization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/alpha_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/gaussian_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/gaussian_noise.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/spatial_dropout.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/flatten.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/permute.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/repeat_vector.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/reshape.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/bidirectional.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm1d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm2d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm3d.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/dropout_rnn_cell.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/gru.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/lstm.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/simple_rnn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/stacked_rnn_cells.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/time_distributed.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/backend.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/layers.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/losses.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/sequence.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/text.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/json_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/legacy_h5_format.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/saving_options.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/saving_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/serialization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/loss.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/losses.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/accuracy_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/confusion_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/correlation_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/f_score_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/hinge_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/iou_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/metric.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/metrics_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/probabilistic_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/reduction_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/regression_metrics.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/cloning.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/functional.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/model.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/sequential.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/variable_mapping.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/core.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/einops.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/function.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/image.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/linalg.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/math.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/nn.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/node.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/numpy.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/operation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/operation_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/symbolic_arguments.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adadelta.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adafactor.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adagrad.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adam.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adamax.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adamw.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/base_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/ftrl.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/lamb.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/lion.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/loss_scale_optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/muon.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/nadam.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/optimizer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/rmsprop.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/schedules/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/schedules/learning_rate_schedule.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/sgd.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/quantizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/quantizers/quantizers.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/random.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/seed_generator.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/regularizers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/regularizers/regularizers.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/file_editor.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/keras_saveable.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/object_registration.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/saving_api.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/saving_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/serialization_lib.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/test_case.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/test_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/compile_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/array_data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/array_slicing.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/data_adapter_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/generator_data_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/grain_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/py_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/tf_dataset_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/torch_data_loader_adapter.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/epoch_iterator.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/trainer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/dmtree_impl.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/optree_impl.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/tree_api.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/argument_validation.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/backend_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/code_stats.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/config.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/dtype_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/file_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/image_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/io_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/jax_layer.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/jax_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/model_visualization.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/naming.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/numerical_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/progbar.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/python_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/rng_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/sequence_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/summary_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/tf_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/timeseries_dataset_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/torch_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/traceback_utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/tracking.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/draw_bounding_boxes.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/draw_segmentation_masks.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_bounding_box_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_image_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_segmentation_mask_gallery.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/__init__.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/fixes.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/sklearn_wrapper.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/utils.py +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/dependency_links.txt +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/requires.txt +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/top_level.txt +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/pyproject.toml +0 -0
- {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/setup.cfg +0 -0
@@ -411,7 +411,7 @@ def paths_and_labels_to_dataset(
|
|
411
411
|
"""Constructs a fixed-size dataset of audio and labels."""
|
412
412
|
path_ds = tf.data.Dataset.from_tensor_slices(file_paths)
|
413
413
|
if label_mode:
|
414
|
-
label_ds = dataset_utils.
|
414
|
+
label_ds = dataset_utils.labels_to_dataset_tf(
|
415
415
|
labels, label_mode, num_classes
|
416
416
|
)
|
417
417
|
ds = tf.data.Dataset.zip((path_ds, label_ds))
|
@@ -8,7 +8,9 @@ import numpy as np
|
|
8
8
|
|
9
9
|
from keras.src import tree
|
10
10
|
from keras.src.api_export import keras_export
|
11
|
+
from keras.src.utils import file_utils
|
11
12
|
from keras.src.utils import io_utils
|
13
|
+
from keras.src.utils.module_utils import grain
|
12
14
|
from keras.src.utils.module_utils import tensorflow as tf
|
13
15
|
|
14
16
|
|
@@ -299,6 +301,17 @@ def is_torch_dataset(dataset):
|
|
299
301
|
return False
|
300
302
|
|
301
303
|
|
304
|
+
def is_grain_dataset(dataset):
|
305
|
+
if hasattr(dataset, "__class__"):
|
306
|
+
for parent in dataset.__class__.__mro__:
|
307
|
+
if parent.__name__ in (
|
308
|
+
"MapDataset",
|
309
|
+
"IterDataset",
|
310
|
+
) and str(parent.__module__).startswith("grain._src.python"):
|
311
|
+
return True
|
312
|
+
return False
|
313
|
+
|
314
|
+
|
302
315
|
def _rescale_dataset_split_sizes(left_size, right_size, total_length):
|
303
316
|
"""Rescale the dataset split sizes.
|
304
317
|
|
@@ -476,6 +489,10 @@ def _get_type_spec(dataset):
|
|
476
489
|
from torch.utils.data import Dataset as TorchDataset
|
477
490
|
|
478
491
|
return TorchDataset
|
492
|
+
elif is_grain_dataset(dataset):
|
493
|
+
from grain import MapDataset
|
494
|
+
|
495
|
+
return MapDataset
|
479
496
|
else:
|
480
497
|
return None
|
481
498
|
|
@@ -525,10 +542,17 @@ def index_directory(
|
|
525
542
|
- class_names: names of the classes corresponding to these labels, in
|
526
543
|
order.
|
527
544
|
"""
|
545
|
+
if file_utils.is_remote_path(directory):
|
546
|
+
os_module = tf.io.gfile
|
547
|
+
path_module = tf.io.gfile
|
548
|
+
else:
|
549
|
+
os_module = os
|
550
|
+
path_module = os.path
|
551
|
+
|
528
552
|
if labels == "inferred":
|
529
553
|
subdirs = []
|
530
|
-
for subdir in sorted(
|
531
|
-
if
|
554
|
+
for subdir in sorted(os_module.listdir(directory)):
|
555
|
+
if path_module.isdir(path_module.join(directory, subdir)):
|
532
556
|
if not subdir.startswith("."):
|
533
557
|
if subdir.endswith("/"):
|
534
558
|
subdir = subdir[:-1]
|
@@ -566,7 +590,7 @@ def index_directory(
|
|
566
590
|
results = []
|
567
591
|
filenames = []
|
568
592
|
|
569
|
-
for dirpath in (
|
593
|
+
for dirpath in (path_module.join(directory, subdir) for subdir in subdirs):
|
570
594
|
results.append(
|
571
595
|
pool.apply_async(
|
572
596
|
index_subdirectory,
|
@@ -608,7 +632,7 @@ def index_directory(
|
|
608
632
|
)
|
609
633
|
pool.close()
|
610
634
|
pool.join()
|
611
|
-
file_paths = [
|
635
|
+
file_paths = [path_module.join(directory, fname) for fname in filenames]
|
612
636
|
|
613
637
|
if shuffle:
|
614
638
|
# Shuffle globally to erase macro-structure
|
@@ -623,8 +647,10 @@ def index_directory(
|
|
623
647
|
|
624
648
|
|
625
649
|
def iter_valid_files(directory, follow_links, formats):
|
650
|
+
io_module = tf.io.gfile if file_utils.is_remote_path(directory) else os
|
651
|
+
|
626
652
|
if not follow_links:
|
627
|
-
walk =
|
653
|
+
walk = io_module.walk(directory)
|
628
654
|
else:
|
629
655
|
walk = os.walk(directory, followlinks=follow_links)
|
630
656
|
for root, _, files in sorted(walk, key=lambda x: x[0]):
|
@@ -648,14 +674,18 @@ def index_subdirectory(directory, class_indices, follow_links, formats):
|
|
648
674
|
paths, and `labels` is a list of integer labels corresponding
|
649
675
|
to these files.
|
650
676
|
"""
|
677
|
+
path_module = (
|
678
|
+
tf.io.gfile if file_utils.is_remote_path(directory) else os.path
|
679
|
+
)
|
680
|
+
|
651
681
|
dirname = os.path.basename(directory)
|
652
682
|
valid_files = iter_valid_files(directory, follow_links, formats)
|
653
683
|
labels = []
|
654
684
|
filenames = []
|
655
685
|
for root, fname in valid_files:
|
656
686
|
labels.append(class_indices[dirname])
|
657
|
-
absolute_path =
|
658
|
-
relative_path =
|
687
|
+
absolute_path = path_module.join(root, fname)
|
688
|
+
relative_path = path_module.join(
|
659
689
|
dirname, os.path.relpath(absolute_path, directory)
|
660
690
|
)
|
661
691
|
filenames.append(relative_path)
|
@@ -700,7 +730,7 @@ def get_training_or_validation_split(samples, labels, validation_split, subset):
|
|
700
730
|
return samples, labels
|
701
731
|
|
702
732
|
|
703
|
-
def
|
733
|
+
def labels_to_dataset_tf(labels, label_mode, num_classes):
|
704
734
|
"""Create a `tf.data.Dataset` from the list/tuple of labels.
|
705
735
|
|
706
736
|
Args:
|
@@ -730,6 +760,51 @@ def labels_to_dataset(labels, label_mode, num_classes):
|
|
730
760
|
return label_ds
|
731
761
|
|
732
762
|
|
763
|
+
def labels_to_dataset_grain(labels, label_mode, num_classes):
|
764
|
+
"""Create a `grain.MapDataset` from the list/tuple of labels.
|
765
|
+
|
766
|
+
Args:
|
767
|
+
labels: list/tuple of labels to be converted into a `grain.MapDataset`.
|
768
|
+
label_mode: String describing the encoding of `labels`. Options are:
|
769
|
+
- `"binary"` indicates that the labels (there can be only 2) are encoded
|
770
|
+
as `float32` scalars with values 0 or 1
|
771
|
+
(e.g. for `binary_crossentropy`).
|
772
|
+
- `"categorical"` means that the labels are mapped into a categorical
|
773
|
+
vector. (e.g. for `categorical_crossentropy` loss).
|
774
|
+
num_classes: number of classes of labels.
|
775
|
+
|
776
|
+
Returns:
|
777
|
+
A `grain.MapDataset` instance.
|
778
|
+
"""
|
779
|
+
from keras.src import backend
|
780
|
+
from keras.src import ops
|
781
|
+
|
782
|
+
if label_mode not in ("binary", "categorical", "int"):
|
783
|
+
raise ValueError(
|
784
|
+
f"Invalid `label_mode`: {label_mode}. "
|
785
|
+
"Expected one of: 'binary', 'categorical', 'int'."
|
786
|
+
)
|
787
|
+
|
788
|
+
def preprocess_labels_in_cpu(label_mode, x, num_classes):
|
789
|
+
with backend.device_scope("cpu"):
|
790
|
+
if label_mode == "binary":
|
791
|
+
return ops.expand_dims(
|
792
|
+
ops.convert_to_tensor(x, dtype="float32"), axis=-1
|
793
|
+
)
|
794
|
+
elif label_mode == "categorical":
|
795
|
+
return ops.one_hot(
|
796
|
+
ops.convert_to_tensor(x, dtype="int32"), num_classes
|
797
|
+
)
|
798
|
+
else:
|
799
|
+
return ops.convert_to_tensor(x, dtype="int32")
|
800
|
+
|
801
|
+
label_ds = grain.MapDataset.source(labels)
|
802
|
+
label_ds = label_ds.map(
|
803
|
+
lambda x: preprocess_labels_in_cpu(label_mode, x, num_classes),
|
804
|
+
)
|
805
|
+
return label_ds
|
806
|
+
|
807
|
+
|
733
808
|
def check_validation_split_arg(validation_split, subset, shuffle, seed):
|
734
809
|
"""Raise errors in case of invalid argument values.
|
735
810
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from keras.src import backend
|
2
|
+
from keras.src import tree
|
3
|
+
|
4
|
+
|
5
|
+
def make_batch(values):
|
6
|
+
from keras.src import ops
|
7
|
+
|
8
|
+
if not values:
|
9
|
+
raise ValueError("Cannot batch 0 values. Please file a bug.")
|
10
|
+
|
11
|
+
with backend.device_scope("cpu"):
|
12
|
+
return tree.map_structure(lambda *xs: ops.stack(xs), *values)
|
13
|
+
|
14
|
+
|
15
|
+
def make_string_batch(values):
|
16
|
+
from keras.src import ops
|
17
|
+
|
18
|
+
if not values:
|
19
|
+
raise ValueError("Cannot batch 0 values. Please file a bug.")
|
20
|
+
|
21
|
+
def batch_fn(*xs):
|
22
|
+
if isinstance(xs[0], str):
|
23
|
+
if backend.backend() == "tensorflow":
|
24
|
+
import tensorflow as tf
|
25
|
+
|
26
|
+
xs = [tf.convert_to_tensor(x, dtype=tf.string) for x in xs]
|
27
|
+
xs = tf.stack(xs)
|
28
|
+
return xs
|
29
|
+
else:
|
30
|
+
return ops.stack(xs)
|
31
|
+
|
32
|
+
with backend.device_scope("cpu"):
|
33
|
+
return tree.map_structure(batch_fn, *values)
|
@@ -1,11 +1,27 @@
|
|
1
|
+
import io
|
2
|
+
import pathlib
|
3
|
+
|
1
4
|
import numpy as np
|
2
5
|
|
3
6
|
from keras.src.api_export import keras_export
|
4
7
|
from keras.src.backend.config import standardize_data_format
|
5
8
|
from keras.src.utils import dataset_utils
|
6
9
|
from keras.src.utils import image_utils
|
10
|
+
from keras.src.utils.grain_utils import make_batch
|
11
|
+
from keras.src.utils.module_utils import grain
|
7
12
|
from keras.src.utils.module_utils import tensorflow as tf
|
8
13
|
|
14
|
+
try:
|
15
|
+
from PIL import Image as pil_image
|
16
|
+
|
17
|
+
try:
|
18
|
+
pil_image_resampling = pil_image.Resampling
|
19
|
+
except AttributeError:
|
20
|
+
pil_image_resampling = pil_image
|
21
|
+
except ImportError:
|
22
|
+
pil_image = None
|
23
|
+
pil_image_resampling = None
|
24
|
+
|
9
25
|
ALLOWLIST_FORMATS = (".bmp", ".gif", ".jpeg", ".jpg", ".png")
|
10
26
|
|
11
27
|
|
@@ -32,9 +48,10 @@ def image_dataset_from_directory(
|
|
32
48
|
crop_to_aspect_ratio=False,
|
33
49
|
pad_to_aspect_ratio=False,
|
34
50
|
data_format=None,
|
51
|
+
format="tf",
|
35
52
|
verbose=True,
|
36
53
|
):
|
37
|
-
"""Generates a
|
54
|
+
"""Generates a dataset from image files in a directory.
|
38
55
|
|
39
56
|
If your directory structure is:
|
40
57
|
|
@@ -49,13 +66,17 @@ def image_dataset_from_directory(
|
|
49
66
|
```
|
50
67
|
|
51
68
|
Then calling `image_dataset_from_directory(main_directory,
|
52
|
-
labels='inferred')` will return a
|
69
|
+
labels='inferred')` will return a dataset that yields batches of
|
53
70
|
images from the subdirectories `class_a` and `class_b`, together with labels
|
54
71
|
0 and 1 (0 corresponding to `class_a` and 1 corresponding to `class_b`).
|
55
72
|
|
56
73
|
Supported image formats: `.jpeg`, `.jpg`, `.png`, `.bmp`, `.gif`.
|
57
74
|
Animated gifs are truncated to the first frame.
|
58
75
|
|
76
|
+
By default, this function will return a `tf.data.Dataset` object. You can
|
77
|
+
set `format="grain"` to return a `grain.IterDataset` object instead, which
|
78
|
+
removes the TensorFlow dependency.
|
79
|
+
|
59
80
|
Args:
|
60
81
|
directory: Directory where the data is located.
|
61
82
|
If `labels` is `"inferred"`, it should contain
|
@@ -125,12 +146,19 @@ def image_dataset_from_directory(
|
|
125
146
|
preserved.
|
126
147
|
data_format: If None uses keras.config.image_data_format()
|
127
148
|
otherwise either 'channel_last' or 'channel_first'.
|
149
|
+
format: The format of the return object. Defaults to `"tf"`. Available
|
150
|
+
options are:
|
151
|
+
- `"tf"`: returns a `tf.data.Dataset` object. Requires
|
152
|
+
TensorFlow to be installed.
|
153
|
+
- `"grain"`: returns a `grain.IterDataset` object. Requires
|
154
|
+
Grain to be installed.
|
128
155
|
verbose: Whether to display number information on classes and
|
129
156
|
number of files found. Defaults to `True`.
|
130
157
|
|
131
158
|
Returns:
|
132
159
|
|
133
|
-
A `tf.data.Dataset`
|
160
|
+
A `tf.data.Dataset` (`format="tf"`) or `grain.IterDataset`
|
161
|
+
(`format="grain"`) object.
|
134
162
|
|
135
163
|
- If `label_mode` is `None`, it yields `float32` tensors of shape
|
136
164
|
`(batch_size, image_size[0], image_size[1], num_channels)`,
|
@@ -222,6 +250,11 @@ def image_dataset_from_directory(
|
|
222
250
|
f"{supported_interpolations}. "
|
223
251
|
f"Received: interpolation={interpolation}"
|
224
252
|
)
|
253
|
+
if format not in ("tf", "grain"):
|
254
|
+
raise ValueError(
|
255
|
+
'`format` should be either "tf" or "grain". '
|
256
|
+
f"Received: format={format}"
|
257
|
+
)
|
225
258
|
|
226
259
|
dataset_utils.check_validation_split_arg(
|
227
260
|
validation_split, subset, shuffle, seed
|
@@ -289,6 +322,7 @@ def image_dataset_from_directory(
|
|
289
322
|
shuffle=shuffle,
|
290
323
|
shuffle_buffer_size=shuffle_buffer_size,
|
291
324
|
seed=seed,
|
325
|
+
format=format,
|
292
326
|
)
|
293
327
|
|
294
328
|
val_dataset = paths_and_labels_to_dataset(
|
@@ -303,14 +337,23 @@ def image_dataset_from_directory(
|
|
303
337
|
pad_to_aspect_ratio=pad_to_aspect_ratio,
|
304
338
|
data_format=data_format,
|
305
339
|
shuffle=False,
|
340
|
+
format=format,
|
306
341
|
)
|
307
342
|
|
308
|
-
if
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
343
|
+
if format == "tf":
|
344
|
+
if batch_size is not None:
|
345
|
+
train_dataset = train_dataset.batch(batch_size)
|
346
|
+
val_dataset = val_dataset.batch(batch_size)
|
347
|
+
train_dataset = train_dataset.prefetch(tf.data.AUTOTUNE)
|
348
|
+
val_dataset = val_dataset.prefetch(tf.data.AUTOTUNE)
|
349
|
+
else:
|
350
|
+
train_dataset = train_dataset.to_iter_dataset()
|
351
|
+
val_dataset = val_dataset.to_iter_dataset()
|
352
|
+
if batch_size is not None:
|
353
|
+
train_dataset = train_dataset.batch(
|
354
|
+
batch_size, batch_fn=make_batch
|
355
|
+
)
|
356
|
+
val_dataset = val_dataset.batch(batch_size, batch_fn=make_batch)
|
314
357
|
|
315
358
|
# Users may need to reference `class_names`.
|
316
359
|
train_dataset.class_names = class_names
|
@@ -345,12 +388,18 @@ def image_dataset_from_directory(
|
|
345
388
|
shuffle=shuffle,
|
346
389
|
shuffle_buffer_size=shuffle_buffer_size,
|
347
390
|
seed=seed,
|
391
|
+
format=format,
|
348
392
|
)
|
349
393
|
|
350
|
-
if
|
351
|
-
|
394
|
+
if format == "tf":
|
395
|
+
if batch_size is not None:
|
396
|
+
dataset = dataset.batch(batch_size)
|
397
|
+
dataset = dataset.prefetch(tf.data.AUTOTUNE)
|
398
|
+
else:
|
399
|
+
dataset = dataset.to_iter_dataset()
|
400
|
+
if batch_size is not None:
|
401
|
+
dataset = dataset.batch(batch_size, batch_fn=make_batch)
|
352
402
|
|
353
|
-
dataset = dataset.prefetch(tf.data.AUTOTUNE)
|
354
403
|
# Users may need to reference `class_names`.
|
355
404
|
dataset.class_names = class_names
|
356
405
|
|
@@ -374,11 +423,66 @@ def paths_and_labels_to_dataset(
|
|
374
423
|
shuffle=False,
|
375
424
|
shuffle_buffer_size=None,
|
376
425
|
seed=None,
|
426
|
+
format="tf",
|
427
|
+
):
|
428
|
+
"""Constructs a dataset of images and labels."""
|
429
|
+
if format == "tf":
|
430
|
+
return _paths_and_labels_to_dataset_tf(
|
431
|
+
image_paths=image_paths,
|
432
|
+
image_size=image_size,
|
433
|
+
num_channels=num_channels,
|
434
|
+
labels=labels,
|
435
|
+
label_mode=label_mode,
|
436
|
+
num_classes=num_classes,
|
437
|
+
interpolation=interpolation,
|
438
|
+
data_format=data_format,
|
439
|
+
crop_to_aspect_ratio=crop_to_aspect_ratio,
|
440
|
+
pad_to_aspect_ratio=pad_to_aspect_ratio,
|
441
|
+
shuffle=shuffle,
|
442
|
+
shuffle_buffer_size=shuffle_buffer_size,
|
443
|
+
seed=seed,
|
444
|
+
)
|
445
|
+
elif format == "grain":
|
446
|
+
return _paths_and_labels_to_dataset_grain(
|
447
|
+
image_paths=image_paths,
|
448
|
+
image_size=image_size,
|
449
|
+
num_channels=num_channels,
|
450
|
+
labels=labels,
|
451
|
+
label_mode=label_mode,
|
452
|
+
num_classes=num_classes,
|
453
|
+
interpolation=interpolation,
|
454
|
+
data_format=data_format,
|
455
|
+
crop_to_aspect_ratio=crop_to_aspect_ratio,
|
456
|
+
pad_to_aspect_ratio=pad_to_aspect_ratio,
|
457
|
+
shuffle=shuffle,
|
458
|
+
seed=seed,
|
459
|
+
)
|
460
|
+
else:
|
461
|
+
raise ValueError(
|
462
|
+
'`format` should be either "tf" or "grain". '
|
463
|
+
f"Received: format={format}"
|
464
|
+
)
|
465
|
+
|
466
|
+
|
467
|
+
def _paths_and_labels_to_dataset_tf(
|
468
|
+
image_paths,
|
469
|
+
image_size,
|
470
|
+
num_channels,
|
471
|
+
labels,
|
472
|
+
label_mode,
|
473
|
+
num_classes,
|
474
|
+
interpolation,
|
475
|
+
data_format,
|
476
|
+
crop_to_aspect_ratio=False,
|
477
|
+
pad_to_aspect_ratio=False,
|
478
|
+
shuffle=False,
|
479
|
+
shuffle_buffer_size=None,
|
480
|
+
seed=None,
|
377
481
|
):
|
378
482
|
"""Constructs a dataset of images and labels."""
|
379
483
|
path_ds = tf.data.Dataset.from_tensor_slices(image_paths)
|
380
484
|
if label_mode:
|
381
|
-
label_ds = dataset_utils.
|
485
|
+
label_ds = dataset_utils.labels_to_dataset_tf(
|
382
486
|
labels, label_mode, num_classes
|
383
487
|
)
|
384
488
|
ds = tf.data.Dataset.zip((path_ds, label_ds))
|
@@ -398,17 +502,18 @@ def paths_and_labels_to_dataset(
|
|
398
502
|
)
|
399
503
|
if label_mode:
|
400
504
|
ds = ds.map(
|
401
|
-
lambda x, y: (
|
505
|
+
lambda x, y: (_load_image_tf(x, *args), y),
|
402
506
|
num_parallel_calls=tf.data.AUTOTUNE,
|
403
507
|
)
|
404
508
|
else:
|
405
509
|
ds = ds.map(
|
406
|
-
lambda x:
|
510
|
+
lambda x: _load_image_tf(x, *args),
|
511
|
+
num_parallel_calls=tf.data.AUTOTUNE,
|
407
512
|
)
|
408
513
|
return ds
|
409
514
|
|
410
515
|
|
411
|
-
def
|
516
|
+
def _load_image_tf(
|
412
517
|
path,
|
413
518
|
image_size,
|
414
519
|
num_channels,
|
@@ -457,3 +562,120 @@ def load_image(
|
|
457
562
|
else:
|
458
563
|
img.set_shape((num_channels, image_size[0], image_size[1]))
|
459
564
|
return img
|
565
|
+
|
566
|
+
|
567
|
+
def _paths_and_labels_to_dataset_grain(
|
568
|
+
image_paths,
|
569
|
+
image_size,
|
570
|
+
num_channels,
|
571
|
+
labels,
|
572
|
+
label_mode,
|
573
|
+
num_classes,
|
574
|
+
interpolation,
|
575
|
+
data_format,
|
576
|
+
crop_to_aspect_ratio=False,
|
577
|
+
pad_to_aspect_ratio=False,
|
578
|
+
shuffle=False,
|
579
|
+
seed=None,
|
580
|
+
):
|
581
|
+
"""Constructs a dataset of images and labels."""
|
582
|
+
path_ds = grain.MapDataset.source(image_paths)
|
583
|
+
if label_mode:
|
584
|
+
label_ds = dataset_utils.labels_to_dataset_grain(
|
585
|
+
labels, label_mode, num_classes
|
586
|
+
)
|
587
|
+
ds = grain.experimental.ZipMapDataset([path_ds, label_ds])
|
588
|
+
else:
|
589
|
+
ds = path_ds
|
590
|
+
|
591
|
+
if shuffle:
|
592
|
+
ds = ds.shuffle(seed=seed)
|
593
|
+
|
594
|
+
args = (
|
595
|
+
image_size,
|
596
|
+
num_channels,
|
597
|
+
interpolation,
|
598
|
+
data_format,
|
599
|
+
crop_to_aspect_ratio,
|
600
|
+
pad_to_aspect_ratio,
|
601
|
+
)
|
602
|
+
if label_mode:
|
603
|
+
ds = ds.map(lambda data: (_load_image_grain(data[0], *args), data[1]))
|
604
|
+
else:
|
605
|
+
ds = ds.map(lambda x: _load_image_grain(x, *args))
|
606
|
+
|
607
|
+
return ds
|
608
|
+
|
609
|
+
|
610
|
+
def _load_image_grain(
|
611
|
+
path,
|
612
|
+
image_size,
|
613
|
+
num_channels,
|
614
|
+
interpolation,
|
615
|
+
data_format,
|
616
|
+
crop_to_aspect_ratio=False,
|
617
|
+
pad_to_aspect_ratio=False,
|
618
|
+
):
|
619
|
+
"""Load an image from a path and resize it."""
|
620
|
+
from keras.src import backend
|
621
|
+
from keras.src import ops
|
622
|
+
|
623
|
+
if pil_image is None:
|
624
|
+
raise ImportError(
|
625
|
+
"Could not import PIL.Image. The use of `load_img` requires PIL."
|
626
|
+
)
|
627
|
+
if pad_to_aspect_ratio and crop_to_aspect_ratio:
|
628
|
+
raise ValueError(
|
629
|
+
"Only one of `pad_to_aspect_ratio`, `crop_to_aspect_ratio`"
|
630
|
+
" can be set to `True`."
|
631
|
+
)
|
632
|
+
|
633
|
+
if isinstance(path, io.BytesIO):
|
634
|
+
img = pil_image.open(path)
|
635
|
+
elif isinstance(path, (pathlib.Path, bytes, str)):
|
636
|
+
if isinstance(path, pathlib.Path):
|
637
|
+
path = str(path.resolve())
|
638
|
+
img = pil_image.open(path)
|
639
|
+
else:
|
640
|
+
raise TypeError(
|
641
|
+
f"path should be path-like or io.BytesIO, not {type(path)}"
|
642
|
+
)
|
643
|
+
if num_channels == 1:
|
644
|
+
# if image is not already an 8-bit, 16-bit or 32-bit grayscale image
|
645
|
+
# convert it to an 8-bit grayscale image.
|
646
|
+
if img.mode not in ("L", "I;16", "I"):
|
647
|
+
img = img.convert("L")
|
648
|
+
elif num_channels == 4:
|
649
|
+
if img.mode != "RGBA":
|
650
|
+
img = img.convert("RGBA")
|
651
|
+
elif num_channels == 3:
|
652
|
+
if img.mode != "RGB":
|
653
|
+
img = img.convert("RGB")
|
654
|
+
else:
|
655
|
+
raise ValueError(
|
656
|
+
"num_channels must be 1, 3 or 4. "
|
657
|
+
f"Received: num_channels={num_channels}"
|
658
|
+
)
|
659
|
+
|
660
|
+
with backend.device_scope("cpu"):
|
661
|
+
img = ops.convert_to_tensor(np.array(img), dtype="float32")
|
662
|
+
if len(img.shape) == 2:
|
663
|
+
# If the image is grayscale, expand dims to add channel axis.
|
664
|
+
# The reason is that `ops.image.resize` expects 3D or 4D tensors.
|
665
|
+
img = ops.expand_dims(img, axis=-1)
|
666
|
+
if data_format == "channels_first":
|
667
|
+
img = ops.transpose(img, (2, 0, 1))
|
668
|
+
img = ops.image.resize(
|
669
|
+
img,
|
670
|
+
size=image_size,
|
671
|
+
interpolation=interpolation,
|
672
|
+
crop_to_aspect_ratio=crop_to_aspect_ratio,
|
673
|
+
pad_to_aspect_ratio=pad_to_aspect_ratio,
|
674
|
+
data_format=data_format,
|
675
|
+
)
|
676
|
+
if backend.backend() == "tensorflow":
|
677
|
+
if data_format == "channels_last":
|
678
|
+
img.set_shape((image_size[0], image_size[1], num_channels))
|
679
|
+
else:
|
680
|
+
img.set_shape((num_channels, image_size[0], image_size[1]))
|
681
|
+
return img
|