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.
Files changed (604) hide show
  1. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/PKG-INFO +1 -1
  2. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/audio_dataset_utils.py +1 -1
  3. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/dataset_utils.py +83 -8
  4. keras_nightly-3.12.0.dev2025082003/keras/src/utils/grain_utils.py +33 -0
  5. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/image_dataset_utils.py +238 -16
  6. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/module_utils.py +1 -0
  7. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/text_dataset_utils.py +141 -16
  8. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/version.py +1 -1
  9. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/PKG-INFO +1 -1
  10. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/SOURCES.txt +1 -0
  11. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/README.md +0 -0
  12. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/__init__.py +0 -0
  13. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/__init__.py +0 -0
  14. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/__init__.py +0 -0
  15. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/activations/__init__.py +0 -0
  16. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/__init__.py +0 -0
  17. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/convnext/__init__.py +0 -0
  18. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/densenet/__init__.py +0 -0
  19. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/efficientnet/__init__.py +0 -0
  20. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/efficientnet_v2/__init__.py +0 -0
  21. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/imagenet_utils/__init__.py +0 -0
  22. {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
  23. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/inception_v3/__init__.py +0 -0
  24. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet/__init__.py +0 -0
  25. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet_v2/__init__.py +0 -0
  26. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/mobilenet_v3/__init__.py +0 -0
  27. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/nasnet/__init__.py +0 -0
  28. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet/__init__.py +0 -0
  29. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet50/__init__.py +0 -0
  30. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/resnet_v2/__init__.py +0 -0
  31. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/vgg16/__init__.py +0 -0
  32. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/vgg19/__init__.py +0 -0
  33. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/applications/xception/__init__.py +0 -0
  34. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/backend/__init__.py +0 -0
  35. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/callbacks/__init__.py +0 -0
  36. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/config/__init__.py +0 -0
  37. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/constraints/__init__.py +0 -0
  38. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/__init__.py +0 -0
  39. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/boston_housing/__init__.py +0 -0
  40. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/california_housing/__init__.py +0 -0
  41. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/cifar10/__init__.py +0 -0
  42. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/cifar100/__init__.py +0 -0
  43. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/fashion_mnist/__init__.py +0 -0
  44. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/imdb/__init__.py +0 -0
  45. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/mnist/__init__.py +0 -0
  46. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/datasets/reuters/__init__.py +0 -0
  47. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/distribution/__init__.py +0 -0
  48. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/dtype_policies/__init__.py +0 -0
  49. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/export/__init__.py +0 -0
  50. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/initializers/__init__.py +0 -0
  51. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/layers/__init__.py +0 -0
  52. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/legacy/__init__.py +0 -0
  53. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/legacy/saving/__init__.py +0 -0
  54. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/losses/__init__.py +0 -0
  55. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/metrics/__init__.py +0 -0
  56. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/mixed_precision/__init__.py +0 -0
  57. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/models/__init__.py +0 -0
  58. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/__init__.py +0 -0
  59. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/image/__init__.py +0 -0
  60. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/linalg/__init__.py +0 -0
  61. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/nn/__init__.py +0 -0
  62. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/ops/numpy/__init__.py +0 -0
  63. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/__init__.py +0 -0
  64. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/legacy/__init__.py +0 -0
  65. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/optimizers/schedules/__init__.py +0 -0
  66. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/__init__.py +0 -0
  67. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/image/__init__.py +0 -0
  68. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/sequence/__init__.py +0 -0
  69. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/preprocessing/text/__init__.py +0 -0
  70. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/quantizers/__init__.py +0 -0
  71. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/random/__init__.py +0 -0
  72. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/regularizers/__init__.py +0 -0
  73. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/saving/__init__.py +0 -0
  74. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/tree/__init__.py +0 -0
  75. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/__init__.py +0 -0
  76. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/bounding_boxes/__init__.py +0 -0
  77. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/utils/legacy/__init__.py +0 -0
  78. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/visualization/__init__.py +0 -0
  79. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/_tf_keras/keras/wrappers/__init__.py +0 -0
  80. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/activations/__init__.py +0 -0
  81. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/__init__.py +0 -0
  82. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/convnext/__init__.py +0 -0
  83. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/densenet/__init__.py +0 -0
  84. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/efficientnet/__init__.py +0 -0
  85. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/efficientnet_v2/__init__.py +0 -0
  86. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/imagenet_utils/__init__.py +0 -0
  87. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/inception_resnet_v2/__init__.py +0 -0
  88. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/inception_v3/__init__.py +0 -0
  89. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet/__init__.py +0 -0
  90. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet_v2/__init__.py +0 -0
  91. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/mobilenet_v3/__init__.py +0 -0
  92. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/nasnet/__init__.py +0 -0
  93. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet/__init__.py +0 -0
  94. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet50/__init__.py +0 -0
  95. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/resnet_v2/__init__.py +0 -0
  96. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/vgg16/__init__.py +0 -0
  97. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/vgg19/__init__.py +0 -0
  98. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/applications/xception/__init__.py +0 -0
  99. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/backend/__init__.py +0 -0
  100. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/callbacks/__init__.py +0 -0
  101. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/config/__init__.py +0 -0
  102. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/constraints/__init__.py +0 -0
  103. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/__init__.py +0 -0
  104. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/boston_housing/__init__.py +0 -0
  105. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/california_housing/__init__.py +0 -0
  106. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/cifar10/__init__.py +0 -0
  107. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/cifar100/__init__.py +0 -0
  108. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/fashion_mnist/__init__.py +0 -0
  109. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/imdb/__init__.py +0 -0
  110. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/mnist/__init__.py +0 -0
  111. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/datasets/reuters/__init__.py +0 -0
  112. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/distribution/__init__.py +0 -0
  113. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/dtype_policies/__init__.py +0 -0
  114. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/export/__init__.py +0 -0
  115. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/initializers/__init__.py +0 -0
  116. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/layers/__init__.py +0 -0
  117. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/legacy/__init__.py +0 -0
  118. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/legacy/saving/__init__.py +0 -0
  119. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/losses/__init__.py +0 -0
  120. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/metrics/__init__.py +0 -0
  121. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/mixed_precision/__init__.py +0 -0
  122. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/models/__init__.py +0 -0
  123. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/__init__.py +0 -0
  124. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/image/__init__.py +0 -0
  125. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/linalg/__init__.py +0 -0
  126. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/nn/__init__.py +0 -0
  127. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/ops/numpy/__init__.py +0 -0
  128. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/__init__.py +0 -0
  129. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/legacy/__init__.py +0 -0
  130. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/optimizers/schedules/__init__.py +0 -0
  131. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/__init__.py +0 -0
  132. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/image/__init__.py +0 -0
  133. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/preprocessing/sequence/__init__.py +0 -0
  134. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/quantizers/__init__.py +0 -0
  135. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/random/__init__.py +0 -0
  136. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/regularizers/__init__.py +0 -0
  137. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/saving/__init__.py +0 -0
  138. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/tree/__init__.py +0 -0
  139. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/__init__.py +0 -0
  140. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/bounding_boxes/__init__.py +0 -0
  141. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/utils/legacy/__init__.py +0 -0
  142. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/visualization/__init__.py +0 -0
  143. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/api/wrappers/__init__.py +0 -0
  144. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/__init__.py +0 -0
  145. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/activations/__init__.py +0 -0
  146. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/activations/activations.py +0 -0
  147. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/api_export.py +0 -0
  148. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/__init__.py +0 -0
  149. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/convnext.py +0 -0
  150. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/densenet.py +0 -0
  151. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/efficientnet.py +0 -0
  152. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/efficientnet_v2.py +0 -0
  153. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/imagenet_utils.py +0 -0
  154. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/inception_resnet_v2.py +0 -0
  155. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/inception_v3.py +0 -0
  156. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet.py +0 -0
  157. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet_v2.py +0 -0
  158. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/mobilenet_v3.py +0 -0
  159. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/nasnet.py +0 -0
  160. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/resnet.py +0 -0
  161. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/resnet_v2.py +0 -0
  162. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/vgg16.py +0 -0
  163. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/vgg19.py +0 -0
  164. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/applications/xception.py +0 -0
  165. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/__init__.py +0 -0
  166. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/__init__.py +0 -0
  167. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/backend_utils.py +0 -0
  168. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/dtypes.py +0 -0
  169. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/global_state.py +0 -0
  170. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/keras_tensor.py +0 -0
  171. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/masking.py +0 -0
  172. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/name_scope.py +0 -0
  173. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/remat.py +0 -0
  174. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/stateless_scope.py +0 -0
  175. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/symbolic_scope.py +0 -0
  176. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/tensor_attributes.py +0 -0
  177. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/common/variables.py +0 -0
  178. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/config.py +0 -0
  179. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/__init__.py +0 -0
  180. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/core.py +0 -0
  181. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/distribution_lib.py +0 -0
  182. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/export.py +0 -0
  183. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/image.py +0 -0
  184. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/layer.py +0 -0
  185. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/linalg.py +0 -0
  186. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/math.py +0 -0
  187. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/nn.py +0 -0
  188. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/numpy.py +0 -0
  189. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/optimizer.py +0 -0
  190. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/random.py +0 -0
  191. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/rnn.py +0 -0
  192. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/sparse.py +0 -0
  193. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/tensorboard.py +0 -0
  194. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/jax/trainer.py +0 -0
  195. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/__init__.py +0 -0
  196. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/core.py +0 -0
  197. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/export.py +0 -0
  198. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/image.py +0 -0
  199. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/layer.py +0 -0
  200. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/linalg.py +0 -0
  201. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/math.py +0 -0
  202. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/nn.py +0 -0
  203. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/numpy.py +0 -0
  204. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/random.py +0 -0
  205. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/rnn.py +0 -0
  206. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/numpy/trainer.py +0 -0
  207. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/__init__.py +0 -0
  208. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/core.py +0 -0
  209. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/export.py +0 -0
  210. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/image.py +0 -0
  211. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/layer.py +0 -0
  212. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/linalg.py +0 -0
  213. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/math.py +0 -0
  214. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/nn.py +0 -0
  215. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/numpy.py +0 -0
  216. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/random.py +0 -0
  217. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/rnn.py +0 -0
  218. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/openvino/trainer.py +0 -0
  219. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/__init__.py +0 -0
  220. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/core.py +0 -0
  221. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/distribution_lib.py +0 -0
  222. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/export.py +0 -0
  223. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/image.py +0 -0
  224. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/layer.py +0 -0
  225. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/linalg.py +0 -0
  226. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/math.py +0 -0
  227. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/nn.py +0 -0
  228. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/numpy.py +0 -0
  229. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/optimizer.py +0 -0
  230. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/random.py +0 -0
  231. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/rnn.py +0 -0
  232. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/sparse.py +0 -0
  233. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/tensorboard.py +0 -0
  234. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/trackable.py +0 -0
  235. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/tensorflow/trainer.py +0 -0
  236. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/__init__.py +0 -0
  237. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/core.py +0 -0
  238. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/export.py +0 -0
  239. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/image.py +0 -0
  240. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/layer.py +0 -0
  241. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/linalg.py +0 -0
  242. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/math.py +0 -0
  243. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/nn.py +0 -0
  244. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/numpy.py +0 -0
  245. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/__init__.py +0 -0
  246. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adadelta.py +0 -0
  247. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adagrad.py +0 -0
  248. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adam.py +0 -0
  249. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adamax.py +0 -0
  250. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_adamw.py +0 -0
  251. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_lion.py +0 -0
  252. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_nadam.py +0 -0
  253. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_optimizer.py +0 -0
  254. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_parallel_optimizer.py +0 -0
  255. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_rmsprop.py +0 -0
  256. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/optimizers/torch_sgd.py +0 -0
  257. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/random.py +0 -0
  258. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/rnn.py +0 -0
  259. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/backend/torch/trainer.py +0 -0
  260. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/__init__.py +0 -0
  261. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/backup_and_restore.py +0 -0
  262. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/callback.py +0 -0
  263. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/callback_list.py +0 -0
  264. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/csv_logger.py +0 -0
  265. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/early_stopping.py +0 -0
  266. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/history.py +0 -0
  267. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/lambda_callback.py +0 -0
  268. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/learning_rate_scheduler.py +0 -0
  269. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/model_checkpoint.py +0 -0
  270. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/monitor_callback.py +0 -0
  271. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/progbar_logger.py +0 -0
  272. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/reduce_lr_on_plateau.py +0 -0
  273. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/remote_monitor.py +0 -0
  274. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/swap_ema_weights.py +0 -0
  275. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/tensorboard.py +0 -0
  276. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/callbacks/terminate_on_nan.py +0 -0
  277. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/constraints/__init__.py +0 -0
  278. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/constraints/constraints.py +0 -0
  279. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/__init__.py +0 -0
  280. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/boston_housing.py +0 -0
  281. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/california_housing.py +0 -0
  282. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar.py +0 -0
  283. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar10.py +0 -0
  284. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/cifar100.py +0 -0
  285. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/fashion_mnist.py +0 -0
  286. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/imdb.py +0 -0
  287. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/mnist.py +0 -0
  288. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/datasets/reuters.py +0 -0
  289. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/distribution/__init__.py +0 -0
  290. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/distribution/distribution_lib.py +0 -0
  291. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/__init__.py +0 -0
  292. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/dtype_policy.py +0 -0
  293. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/dtype_policies/dtype_policy_map.py +0 -0
  294. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/__init__.py +0 -0
  295. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/export_utils.py +0 -0
  296. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/onnx.py +0 -0
  297. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/openvino.py +0 -0
  298. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/saved_model.py +0 -0
  299. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/tf2onnx_lib.py +0 -0
  300. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/export/tfsm_layer.py +0 -0
  301. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/__init__.py +0 -0
  302. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/constant_initializers.py +0 -0
  303. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/initializer.py +0 -0
  304. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/initializers/random_initializers.py +0 -0
  305. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/__init__.py +0 -0
  306. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/__init__.py +0 -0
  307. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/activation.py +0 -0
  308. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/elu.py +0 -0
  309. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/leaky_relu.py +0 -0
  310. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/prelu.py +0 -0
  311. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/relu.py +0 -0
  312. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/activations/softmax.py +0 -0
  313. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/__init__.py +0 -0
  314. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/additive_attention.py +0 -0
  315. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/attention.py +0 -0
  316. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/grouped_query_attention.py +0 -0
  317. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/attention/multi_head_attention.py +0 -0
  318. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/__init__.py +0 -0
  319. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_conv.py +0 -0
  320. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_conv_transpose.py +0 -0
  321. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_depthwise_conv.py +0 -0
  322. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/base_separable_conv.py +0 -0
  323. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv1d.py +0 -0
  324. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv1d_transpose.py +0 -0
  325. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv2d.py +0 -0
  326. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv2d_transpose.py +0 -0
  327. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv3d.py +0 -0
  328. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/conv3d_transpose.py +0 -0
  329. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/depthwise_conv1d.py +0 -0
  330. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/depthwise_conv2d.py +0 -0
  331. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/separable_conv1d.py +0 -0
  332. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/convolutional/separable_conv2d.py +0 -0
  333. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/__init__.py +0 -0
  334. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/dense.py +0 -0
  335. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/einsum_dense.py +0 -0
  336. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/embedding.py +0 -0
  337. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/identity.py +0 -0
  338. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/input_layer.py +0 -0
  339. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/lambda_layer.py +0 -0
  340. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/masking.py +0 -0
  341. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/core/wrapper.py +0 -0
  342. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/input_spec.py +0 -0
  343. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/layer.py +0 -0
  344. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/__init__.py +0 -0
  345. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/add.py +0 -0
  346. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/average.py +0 -0
  347. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/base_merge.py +0 -0
  348. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/concatenate.py +0 -0
  349. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/dot.py +0 -0
  350. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/maximum.py +0 -0
  351. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/minimum.py +0 -0
  352. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/multiply.py +0 -0
  353. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/merging/subtract.py +0 -0
  354. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/__init__.py +0 -0
  355. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/batch_normalization.py +0 -0
  356. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/group_normalization.py +0 -0
  357. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/layer_normalization.py +0 -0
  358. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/rms_normalization.py +0 -0
  359. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/spectral_normalization.py +0 -0
  360. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/normalization/unit_normalization.py +0 -0
  361. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/__init__.py +0 -0
  362. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling1d.py +0 -0
  363. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling2d.py +0 -0
  364. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/average_pooling3d.py +0 -0
  365. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/base_global_pooling.py +0 -0
  366. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/base_pooling.py +0 -0
  367. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling1d.py +0 -0
  368. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling2d.py +0 -0
  369. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_average_pooling3d.py +0 -0
  370. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling1d.py +0 -0
  371. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling2d.py +0 -0
  372. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/global_max_pooling3d.py +0 -0
  373. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling1d.py +0 -0
  374. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling2d.py +0 -0
  375. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/pooling/max_pooling3d.py +0 -0
  376. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/__init__.py +0 -0
  377. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/category_encoding.py +0 -0
  378. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/discretization.py +0 -0
  379. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/feature_space.py +0 -0
  380. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/hashed_crossing.py +0 -0
  381. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/hashing.py +0 -0
  382. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/__init__.py +0 -0
  383. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/aug_mix.py +0 -0
  384. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/auto_contrast.py +0 -0
  385. {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
  386. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/__init__.py +0 -0
  387. {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
  388. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/converters.py +0 -0
  389. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/formats.py +0 -0
  390. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/iou.py +0 -0
  391. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/bounding_boxes/validation.py +0 -0
  392. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/center_crop.py +0 -0
  393. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/cut_mix.py +0 -0
  394. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/equalization.py +0 -0
  395. {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
  396. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/mix_up.py +0 -0
  397. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/rand_augment.py +0 -0
  398. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_brightness.py +0 -0
  399. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_color_degeneration.py +0 -0
  400. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_color_jitter.py +0 -0
  401. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_contrast.py +0 -0
  402. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_crop.py +0 -0
  403. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_elastic_transform.py +0 -0
  404. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_erasing.py +0 -0
  405. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_flip.py +0 -0
  406. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_gaussian_blur.py +0 -0
  407. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_grayscale.py +0 -0
  408. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_hue.py +0 -0
  409. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_invert.py +0 -0
  410. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_perspective.py +0 -0
  411. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_posterization.py +0 -0
  412. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_rotation.py +0 -0
  413. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_saturation.py +0 -0
  414. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_sharpness.py +0 -0
  415. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_shear.py +0 -0
  416. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_translation.py +0 -0
  417. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/random_zoom.py +0 -0
  418. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/resizing.py +0 -0
  419. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/image_preprocessing/solarization.py +0 -0
  420. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/index_lookup.py +0 -0
  421. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/integer_lookup.py +0 -0
  422. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/mel_spectrogram.py +0 -0
  423. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/normalization.py +0 -0
  424. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/pipeline.py +0 -0
  425. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/rescaling.py +0 -0
  426. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/stft_spectrogram.py +0 -0
  427. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/string_lookup.py +0 -0
  428. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/text_vectorization.py +0 -0
  429. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/preprocessing/tf_data_layer.py +0 -0
  430. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/__init__.py +0 -0
  431. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/activity_regularization.py +0 -0
  432. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/alpha_dropout.py +0 -0
  433. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/dropout.py +0 -0
  434. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/gaussian_dropout.py +0 -0
  435. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/gaussian_noise.py +0 -0
  436. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/regularization/spatial_dropout.py +0 -0
  437. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/__init__.py +0 -0
  438. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping1d.py +0 -0
  439. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping2d.py +0 -0
  440. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/cropping3d.py +0 -0
  441. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/flatten.py +0 -0
  442. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/permute.py +0 -0
  443. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/repeat_vector.py +0 -0
  444. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/reshape.py +0 -0
  445. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling1d.py +0 -0
  446. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling2d.py +0 -0
  447. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/up_sampling3d.py +0 -0
  448. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding1d.py +0 -0
  449. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding2d.py +0 -0
  450. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/reshaping/zero_padding3d.py +0 -0
  451. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/__init__.py +0 -0
  452. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/bidirectional.py +0 -0
  453. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm.py +0 -0
  454. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm1d.py +0 -0
  455. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm2d.py +0 -0
  456. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/conv_lstm3d.py +0 -0
  457. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/dropout_rnn_cell.py +0 -0
  458. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/gru.py +0 -0
  459. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/lstm.py +0 -0
  460. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/rnn.py +0 -0
  461. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/simple_rnn.py +0 -0
  462. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/stacked_rnn_cells.py +0 -0
  463. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/layers/rnn/time_distributed.py +0 -0
  464. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/__init__.py +0 -0
  465. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/backend.py +0 -0
  466. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/layers.py +0 -0
  467. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/losses.py +0 -0
  468. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/__init__.py +0 -0
  469. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/image.py +0 -0
  470. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/sequence.py +0 -0
  471. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/preprocessing/text.py +0 -0
  472. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/__init__.py +0 -0
  473. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/json_utils.py +0 -0
  474. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/legacy_h5_format.py +0 -0
  475. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/saving_options.py +0 -0
  476. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/saving_utils.py +0 -0
  477. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/legacy/saving/serialization.py +0 -0
  478. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/__init__.py +0 -0
  479. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/loss.py +0 -0
  480. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/losses/losses.py +0 -0
  481. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/__init__.py +0 -0
  482. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/accuracy_metrics.py +0 -0
  483. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/confusion_metrics.py +0 -0
  484. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/correlation_metrics.py +0 -0
  485. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/f_score_metrics.py +0 -0
  486. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/hinge_metrics.py +0 -0
  487. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/iou_metrics.py +0 -0
  488. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/metric.py +0 -0
  489. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/metrics_utils.py +0 -0
  490. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/probabilistic_metrics.py +0 -0
  491. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/reduction_metrics.py +0 -0
  492. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/metrics/regression_metrics.py +0 -0
  493. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/__init__.py +0 -0
  494. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/cloning.py +0 -0
  495. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/functional.py +0 -0
  496. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/model.py +0 -0
  497. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/sequential.py +0 -0
  498. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/models/variable_mapping.py +0 -0
  499. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/__init__.py +0 -0
  500. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/core.py +0 -0
  501. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/einops.py +0 -0
  502. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/function.py +0 -0
  503. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/image.py +0 -0
  504. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/linalg.py +0 -0
  505. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/math.py +0 -0
  506. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/nn.py +0 -0
  507. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/node.py +0 -0
  508. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/numpy.py +0 -0
  509. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/operation.py +0 -0
  510. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/operation_utils.py +0 -0
  511. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/ops/symbolic_arguments.py +0 -0
  512. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/__init__.py +0 -0
  513. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adadelta.py +0 -0
  514. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adafactor.py +0 -0
  515. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adagrad.py +0 -0
  516. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adam.py +0 -0
  517. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adamax.py +0 -0
  518. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/adamw.py +0 -0
  519. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/base_optimizer.py +0 -0
  520. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/ftrl.py +0 -0
  521. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/lamb.py +0 -0
  522. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/lion.py +0 -0
  523. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/loss_scale_optimizer.py +0 -0
  524. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/muon.py +0 -0
  525. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/nadam.py +0 -0
  526. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/optimizer.py +0 -0
  527. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/rmsprop.py +0 -0
  528. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/schedules/__init__.py +0 -0
  529. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/schedules/learning_rate_schedule.py +0 -0
  530. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/optimizers/sgd.py +0 -0
  531. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/quantizers/__init__.py +0 -0
  532. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/quantizers/quantizers.py +0 -0
  533. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/__init__.py +0 -0
  534. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/random.py +0 -0
  535. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/random/seed_generator.py +0 -0
  536. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/regularizers/__init__.py +0 -0
  537. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/regularizers/regularizers.py +0 -0
  538. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/__init__.py +0 -0
  539. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/file_editor.py +0 -0
  540. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/keras_saveable.py +0 -0
  541. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/object_registration.py +0 -0
  542. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/saving_api.py +0 -0
  543. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/saving_lib.py +0 -0
  544. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/saving/serialization_lib.py +0 -0
  545. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/__init__.py +0 -0
  546. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/test_case.py +0 -0
  547. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/testing/test_utils.py +0 -0
  548. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/__init__.py +0 -0
  549. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/compile_utils.py +0 -0
  550. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/__init__.py +0 -0
  551. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/array_data_adapter.py +0 -0
  552. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/array_slicing.py +0 -0
  553. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/data_adapter.py +0 -0
  554. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/data_adapter_utils.py +0 -0
  555. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/generator_data_adapter.py +0 -0
  556. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/grain_dataset_adapter.py +0 -0
  557. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/py_dataset_adapter.py +0 -0
  558. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/tf_dataset_adapter.py +0 -0
  559. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/data_adapters/torch_data_loader_adapter.py +0 -0
  560. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/epoch_iterator.py +0 -0
  561. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/trainers/trainer.py +0 -0
  562. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/__init__.py +0 -0
  563. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/dmtree_impl.py +0 -0
  564. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/optree_impl.py +0 -0
  565. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/tree/tree_api.py +0 -0
  566. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/__init__.py +0 -0
  567. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/argument_validation.py +0 -0
  568. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/backend_utils.py +0 -0
  569. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/code_stats.py +0 -0
  570. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/config.py +0 -0
  571. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/dtype_utils.py +0 -0
  572. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/file_utils.py +0 -0
  573. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/image_utils.py +0 -0
  574. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/io_utils.py +0 -0
  575. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/jax_layer.py +0 -0
  576. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/jax_utils.py +0 -0
  577. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/model_visualization.py +0 -0
  578. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/naming.py +0 -0
  579. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/numerical_utils.py +0 -0
  580. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/progbar.py +0 -0
  581. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/python_utils.py +0 -0
  582. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/rng_utils.py +0 -0
  583. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/sequence_utils.py +0 -0
  584. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/summary_utils.py +0 -0
  585. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/tf_utils.py +0 -0
  586. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/timeseries_dataset_utils.py +0 -0
  587. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/torch_utils.py +0 -0
  588. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/traceback_utils.py +0 -0
  589. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/utils/tracking.py +0 -0
  590. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/__init__.py +0 -0
  591. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/draw_bounding_boxes.py +0 -0
  592. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/draw_segmentation_masks.py +0 -0
  593. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_bounding_box_gallery.py +0 -0
  594. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_image_gallery.py +0 -0
  595. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/visualization/plot_segmentation_mask_gallery.py +0 -0
  596. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/__init__.py +0 -0
  597. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/fixes.py +0 -0
  598. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/sklearn_wrapper.py +0 -0
  599. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras/src/wrappers/utils.py +0 -0
  600. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/dependency_links.txt +0 -0
  601. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/requires.txt +0 -0
  602. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/keras_nightly.egg-info/top_level.txt +0 -0
  603. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/pyproject.toml +0 -0
  604. {keras_nightly-3.12.0.dev2025081903 → keras_nightly-3.12.0.dev2025082003}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keras-nightly
3
- Version: 3.12.0.dev2025081903
3
+ Version: 3.12.0.dev2025082003
4
4
  Summary: Multi-backend Keras
5
5
  Author-email: Keras team <keras-users@googlegroups.com>
6
6
  License: Apache License 2.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.labels_to_dataset(
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(tf.io.gfile.listdir(directory)):
531
- if tf.io.gfile.isdir(tf.io.gfile.join(directory, subdir)):
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 (tf.io.gfile.join(directory, subdir) for subdir in subdirs):
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 = [tf.io.gfile.join(directory, fname) for fname in filenames]
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 = tf.io.gfile.walk(directory)
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 = tf.io.gfile.join(root, fname)
658
- relative_path = tf.io.gfile.join(
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 labels_to_dataset(labels, label_mode, num_classes):
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 `tf.data.Dataset` from image files in a directory.
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 `tf.data.Dataset` that yields batches of
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` object.
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 batch_size is not None:
309
- train_dataset = train_dataset.batch(batch_size)
310
- val_dataset = val_dataset.batch(batch_size)
311
-
312
- train_dataset = train_dataset.prefetch(tf.data.AUTOTUNE)
313
- val_dataset = val_dataset.prefetch(tf.data.AUTOTUNE)
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 batch_size is not None:
351
- dataset = dataset.batch(batch_size)
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.labels_to_dataset(
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: (load_image(x, *args), 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: load_image(x, *args), num_parallel_calls=tf.data.AUTOTUNE
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 load_image(
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
@@ -58,3 +58,4 @@ torch_xla = LazyModule(
58
58
  optree = LazyModule("optree")
59
59
  dmtree = LazyModule("tree")
60
60
  tf2onnx = LazyModule("tf2onnx")
61
+ grain = LazyModule("grain")