keras-hub-nightly 0.19.0.dev202502060348__py3-none-any.whl → 0.19.0.dev202502080344__py3-none-any.whl

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 (28) hide show
  1. keras_hub/api/__init__.py +0 -1
  2. keras_hub/api/layers/__init__.py +3 -1
  3. keras_hub/api/models/__init__.py +10 -4
  4. keras_hub/src/{models/retinanet → layers/modeling}/anchor_generator.py +11 -18
  5. keras_hub/src/{models/retinanet → layers/modeling}/box_matcher.py +17 -4
  6. keras_hub/src/{models/retinanet → layers/modeling}/non_max_supression.py +84 -32
  7. keras_hub/src/layers/preprocessing/image_converter.py +25 -3
  8. keras_hub/src/models/{image_object_detector.py → object_detector.py} +12 -7
  9. keras_hub/src/models/{image_object_detector_preprocessor.py → object_detector_preprocessor.py} +29 -13
  10. keras_hub/src/models/retinanet/retinanet_image_converter.py +8 -40
  11. keras_hub/src/models/retinanet/retinanet_label_encoder.py +18 -16
  12. keras_hub/src/models/retinanet/retinanet_object_detector.py +28 -28
  13. keras_hub/src/models/retinanet/retinanet_object_detector_preprocessor.py +3 -3
  14. keras_hub/src/utils/tensor_utils.py +13 -0
  15. keras_hub/src/version_utils.py +1 -1
  16. {keras_hub_nightly-0.19.0.dev202502060348.dist-info → keras_hub_nightly-0.19.0.dev202502080344.dist-info}/METADATA +1 -1
  17. {keras_hub_nightly-0.19.0.dev202502060348.dist-info → keras_hub_nightly-0.19.0.dev202502080344.dist-info}/RECORD +19 -28
  18. keras_hub/api/bounding_box/__init__.py +0 -23
  19. keras_hub/src/bounding_box/__init__.py +0 -2
  20. keras_hub/src/bounding_box/converters.py +0 -606
  21. keras_hub/src/bounding_box/formats.py +0 -149
  22. keras_hub/src/bounding_box/iou.py +0 -251
  23. keras_hub/src/bounding_box/to_dense.py +0 -81
  24. keras_hub/src/bounding_box/to_ragged.py +0 -86
  25. keras_hub/src/bounding_box/utils.py +0 -181
  26. keras_hub/src/bounding_box/validate_format.py +0 -85
  27. {keras_hub_nightly-0.19.0.dev202502060348.dist-info → keras_hub_nightly-0.19.0.dev202502080344.dist-info}/WHEEL +0 -0
  28. {keras_hub_nightly-0.19.0.dev202502060348.dist-info → keras_hub_nightly-0.19.0.dev202502080344.dist-info}/top_level.txt +0 -0
@@ -3,11 +3,7 @@ import math
3
3
  import keras
4
4
  from keras import ops
5
5
 
6
- # TODO: https://github.com/keras-team/keras-hub/issues/1965
7
- from keras_hub.src.bounding_box.converters import convert_format
8
- from keras_hub.src.bounding_box.converters import encode_box_to_deltas
9
- from keras_hub.src.bounding_box.iou import compute_iou
10
- from keras_hub.src.models.retinanet.box_matcher import BoxMatcher
6
+ from keras_hub.src.layers.modeling.box_matcher import BoxMatcher
11
7
  from keras_hub.src.utils import tensor_utils
12
8
 
13
9
 
@@ -30,7 +26,8 @@ class RetinaNetLabelEncoder(keras.layers.Layer):
30
26
  anchor_generator: A `keras_hub.layers.AnchorGenerator`.
31
27
  bounding_box_format: str. Ground truth format of bounding boxes.
32
28
  encoding_format: str. The desired target encoding format for the boxes.
33
- TODO: https://github.com/keras-team/keras-hub/issues/1907
29
+ Refer: `keras.utils.bounding_boxes.convert_format` for supported
30
+ formats.
34
31
  positive_threshold: float. the threshold to set an anchor to positive
35
32
  match to gt box. Values above it are positive matches.
36
33
  Defaults to `0.5`
@@ -113,7 +110,7 @@ class RetinaNetLabelEncoder(keras.layers.Layer):
113
110
  "support unbatched inputs for the `images` argument. "
114
111
  f"Received `shape(images)={images_shape}`."
115
112
  )
116
- image_shape = images_shape[1:]
113
+ height, width, channels = images_shape[1:]
117
114
 
118
115
  if len(ops.shape(gt_classes)) == 2:
119
116
  gt_classes = ops.expand_dims(gt_classes, axis=-1)
@@ -122,14 +119,16 @@ class RetinaNetLabelEncoder(keras.layers.Layer):
122
119
  anchor_boxes = ops.concatenate(list(anchor_boxes.values()), axis=0)
123
120
 
124
121
  box_targets, class_targets = self._encode_sample(
125
- gt_boxes, gt_classes, anchor_boxes, image_shape
122
+ gt_boxes, gt_classes, anchor_boxes, height, width, channels
126
123
  )
127
124
  box_targets = ops.reshape(
128
125
  box_targets, (-1, ops.shape(box_targets)[1], 4)
129
126
  )
130
127
  return box_targets, class_targets
131
128
 
132
- def _encode_sample(self, gt_boxes, gt_classes, anchor_boxes, image_shape):
129
+ def _encode_sample(
130
+ self, gt_boxes, gt_classes, anchor_boxes, height, width, channels
131
+ ):
133
132
  """Creates box and classification targets for a batched sample.
134
133
 
135
134
  Matches ground truth boxes to anchor boxes based on IOU.
@@ -149,23 +148,26 @@ class RetinaNetLabelEncoder(keras.layers.Layer):
149
148
  anchor_boxes: A Tensor with the shape `[total_anchors, 4]`
150
149
  representing all the anchor boxes for a given input image shape,
151
150
  where each anchor box is of the format `[x, y, width, height]`.
152
- image_shape: Tuple indicating the image shape `[H, W, C]`.
151
+ height: int. Height of the inputs.
152
+ width: int. Width of the inputs.
153
+ channels: int. Number of channesl in the inputs.
153
154
 
154
155
  Returns:
155
156
  Encoded bounding boxes in the format of `center_yxwh` and
156
157
  corresponding labels for each encoded bounding box.
157
158
  """
158
- anchor_boxes = convert_format(
159
+ anchor_boxes = keras.utils.bounding_boxes.convert_format(
159
160
  anchor_boxes,
160
161
  source=self.anchor_generator.bounding_box_format,
161
162
  target=self.bounding_box_format,
162
- image_shape=image_shape,
163
+ height=height,
164
+ width=width,
163
165
  )
164
- iou_matrix = compute_iou(
166
+ iou_matrix = keras.utils.bounding_boxes.compute_iou(
165
167
  anchor_boxes,
166
168
  gt_boxes,
167
169
  bounding_box_format=self.bounding_box_format,
168
- image_shape=image_shape,
170
+ image_shape=(height, width, channels),
169
171
  )
170
172
 
171
173
  matched_gt_idx, matched_vals = self.box_matcher(iou_matrix)
@@ -179,14 +181,14 @@ class RetinaNetLabelEncoder(keras.layers.Layer):
179
181
  matched_gt_boxes, (-1, ops.shape(matched_gt_boxes)[1], 4)
180
182
  )
181
183
 
182
- box_targets = encode_box_to_deltas(
184
+ box_targets = keras.utils.bounding_boxes.encode_box_to_deltas(
183
185
  anchors=anchor_boxes,
184
186
  boxes=matched_gt_boxes,
185
187
  anchor_format=self.bounding_box_format,
186
188
  box_format=self.bounding_box_format,
187
189
  encoding_format=self.encoding_format,
188
190
  variance=self.box_variance,
189
- image_shape=image_shape,
191
+ image_shape=(height, width, channels),
190
192
  )
191
193
 
192
194
  matched_gt_cls_ids = tensor_utils.target_gather(
@@ -2,13 +2,9 @@ import keras
2
2
  from keras import ops
3
3
 
4
4
  from keras_hub.src.api_export import keras_hub_export
5
-
6
- # TODO: https://github.com/keras-team/keras-hub/issues/1965
7
- from keras_hub.src.bounding_box.converters import convert_format
8
- from keras_hub.src.bounding_box.converters import decode_deltas_to_boxes
9
- from keras_hub.src.models.image_object_detector import ImageObjectDetector
10
- from keras_hub.src.models.retinanet.anchor_generator import AnchorGenerator
11
- from keras_hub.src.models.retinanet.non_max_supression import NonMaxSuppression
5
+ from keras_hub.src.layers.modeling.anchor_generator import AnchorGenerator
6
+ from keras_hub.src.layers.modeling.non_max_supression import NonMaxSuppression
7
+ from keras_hub.src.models.object_detector import ObjectDetector
12
8
  from keras_hub.src.models.retinanet.prediction_head import PredictionHead
13
9
  from keras_hub.src.models.retinanet.retinanet_backbone import RetinaNetBackbone
14
10
  from keras_hub.src.models.retinanet.retinanet_label_encoder import (
@@ -17,10 +13,11 @@ from keras_hub.src.models.retinanet.retinanet_label_encoder import (
17
13
  from keras_hub.src.models.retinanet.retinanet_object_detector_preprocessor import ( # noqa: E501
18
14
  RetinaNetObjectDetectorPreprocessor,
19
15
  )
16
+ from keras_hub.src.utils.tensor_utils import assert_bounding_box_support
20
17
 
21
18
 
22
19
  @keras_hub_export("keras_hub.models.RetinaNetObjectDetector")
23
- class RetinaNetObjectDetector(ImageObjectDetector):
20
+ class RetinaNetObjectDetector(ObjectDetector):
24
21
  """RetinaNet object detector model.
25
22
 
26
23
  This class implements the RetinaNet object detection architecture.
@@ -47,9 +44,7 @@ class RetinaNetObjectDetector(ImageObjectDetector):
47
44
  arguments.
48
45
  num_classes: int. The number of object classes to be detected.
49
46
  bounding_box_format: str. Dataset bounding box format (e.g., "xyxy",
50
- "yxyx"). The supported formats are
51
- refer TODO: https://github.com/keras-team/keras-hub/issues/1907.
52
- Defaults to `yxyx`.
47
+ "yxyx"). Defaults to `yxyx`.
53
48
  label_encoder: Optional. A `RetinaNetLabelEncoder` instance. Encodes
54
49
  ground truth boxes and classes into training targets. It matches
55
50
  ground truth boxes to anchors based on IoU and encodes box
@@ -107,6 +102,9 @@ class RetinaNetObjectDetector(ImageObjectDetector):
107
102
  prediction_decoder=None,
108
103
  **kwargs,
109
104
  ):
105
+ # Check whether current version of keras support bounding box utils
106
+ assert_bounding_box_support(self.__class__.__name__)
107
+
110
108
  # === Layers ===
111
109
  image_input = keras.layers.Input(backbone.image_shape, name="images")
112
110
  head_dtype = dtype or backbone.dtype_policy
@@ -204,17 +202,19 @@ class RetinaNetObjectDetector(ImageObjectDetector):
204
202
  )
205
203
 
206
204
  def compute_loss(self, x, y, y_pred, sample_weight, **kwargs):
207
- y_for_label_encoder = convert_format(
205
+ _, height, width, _ = keras.ops.shape(x)
206
+ y_for_label_encoder = keras.utils.bounding_boxes.convert_format(
208
207
  y,
209
208
  source=self.bounding_box_format,
210
209
  target=self.label_encoder.bounding_box_format,
211
- images=x,
210
+ height=height,
211
+ width=width,
212
212
  )
213
213
 
214
- boxes, classes = self.label_encoder(
214
+ boxes, labels = self.label_encoder(
215
215
  images=x,
216
216
  gt_boxes=y_for_label_encoder["boxes"],
217
- gt_classes=y_for_label_encoder["classes"],
217
+ gt_classes=y_for_label_encoder["labels"],
218
218
  )
219
219
 
220
220
  box_pred = y_pred["bbox_regression"]
@@ -242,11 +242,11 @@ class RetinaNetObjectDetector(ImageObjectDetector):
242
242
  )
243
243
 
244
244
  cls_labels = ops.one_hot(
245
- ops.cast(classes, "int32"), self.num_classes, dtype="float32"
245
+ ops.cast(labels, "int32"), self.num_classes, dtype="float32"
246
246
  )
247
- positive_mask = ops.cast(ops.greater(classes, -1.0), dtype="float32")
247
+ positive_mask = ops.cast(ops.greater(labels, -1.0), dtype="float32")
248
248
  normalizer = ops.sum(positive_mask)
249
- cls_weights = ops.cast(ops.not_equal(classes, -2.0), dtype="float32")
249
+ cls_weights = ops.cast(ops.not_equal(labels, -2.0), dtype="float32")
250
250
  cls_weights /= normalizer
251
251
  box_weights = positive_mask / normalizer
252
252
 
@@ -306,32 +306,32 @@ class RetinaNetObjectDetector(ImageObjectDetector):
306
306
  images, _ = data
307
307
  else:
308
308
  images = data
309
- image_shape = ops.shape(images)[1:]
309
+ height, width, channels = ops.shape(images)[1:]
310
310
  anchor_boxes = self.anchor_generator(images)
311
311
  anchor_boxes = ops.concatenate(list(anchor_boxes.values()), axis=0)
312
- box_pred = decode_deltas_to_boxes(
312
+ box_pred = keras.utils.bounding_boxes.decode_deltas_to_boxes(
313
313
  anchors=anchor_boxes,
314
314
  boxes_delta=box_pred,
315
315
  encoded_format="center_xywh",
316
316
  anchor_format=self.anchor_generator.bounding_box_format,
317
317
  box_format=self.bounding_box_format,
318
- image_shape=image_shape,
318
+ image_shape=(height, width, channels),
319
319
  )
320
320
  # box_pred is now in "self.bounding_box_format" format
321
- box_pred = convert_format(
321
+ box_pred = keras.utils.bounding_boxes.convert_format(
322
322
  box_pred,
323
323
  source=self.bounding_box_format,
324
324
  target=self.prediction_decoder.bounding_box_format,
325
- image_shape=image_shape,
326
- )
327
- y_pred = self.prediction_decoder(
328
- box_pred, cls_pred, image_shape=image_shape
325
+ height=height,
326
+ width=width,
329
327
  )
330
- y_pred["boxes"] = convert_format(
328
+ y_pred = self.prediction_decoder(box_pred, cls_pred, images=images)
329
+ y_pred["boxes"] = keras.utils.bounding_boxes.convert_format(
331
330
  y_pred["boxes"],
332
331
  source=self.prediction_decoder.bounding_box_format,
333
332
  target=self.bounding_box_format,
334
- image_shape=image_shape,
333
+ height=height,
334
+ width=width,
335
335
  )
336
336
  return y_pred
337
337
 
@@ -1,6 +1,6 @@
1
1
  from keras_hub.src.api_export import keras_hub_export
2
- from keras_hub.src.models.image_object_detector_preprocessor import (
3
- ImageObjectDetectorPreprocessor,
2
+ from keras_hub.src.models.object_detector_preprocessor import (
3
+ ObjectDetectorPreprocessor,
4
4
  )
5
5
  from keras_hub.src.models.retinanet.retinanet_backbone import RetinaNetBackbone
6
6
  from keras_hub.src.models.retinanet.retinanet_image_converter import (
@@ -9,6 +9,6 @@ from keras_hub.src.models.retinanet.retinanet_image_converter import (
9
9
 
10
10
 
11
11
  @keras_hub_export("keras_hub.models.RetinaNetObjectDetectorPreprocessor")
12
- class RetinaNetObjectDetectorPreprocessor(ImageObjectDetectorPreprocessor):
12
+ class RetinaNetObjectDetectorPreprocessor(ObjectDetectorPreprocessor):
13
13
  backbone_cls = RetinaNetBackbone
14
14
  image_converter_cls = RetinaNetImageConverter
@@ -6,6 +6,7 @@ import threading
6
6
  import keras
7
7
  import numpy as np
8
8
  from keras import ops
9
+ from packaging import version
9
10
 
10
11
  try:
11
12
  import tensorflow as tf
@@ -262,6 +263,18 @@ def assert_tf_libs_installed(symbol_name):
262
263
  )
263
264
 
264
265
 
266
+ def check_bounding_box_support():
267
+ return version.parse(keras.__version__) >= version.parse("3.8.0")
268
+
269
+
270
+ def assert_bounding_box_support(symbol_name):
271
+ if not check_bounding_box_support():
272
+ raise ImportError(
273
+ f"{symbol_name} requires Keras version to be 3.8.0 or higher. "
274
+ f"Current keras version: {keras.__version__}"
275
+ )
276
+
277
+
265
278
  def assert_tf_backend(symbol_name):
266
279
  if keras.config.backend() != "tensorflow":
267
280
  raise RuntimeError(
@@ -1,7 +1,7 @@
1
1
  from keras_hub.src.api_export import keras_hub_export
2
2
 
3
3
  # Unique source of truth for the version number.
4
- __version__ = "0.19.0.dev202502060348"
4
+ __version__ = "0.19.0.dev202502080344"
5
5
 
6
6
 
7
7
  @keras_hub_export("keras_hub.version")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: keras-hub-nightly
3
- Version: 0.19.0.dev202502060348
3
+ Version: 0.19.0.dev202502080344
4
4
  Summary: Industry-strength Natural Language Processing extensions for Keras.
5
5
  Home-page: https://github.com/keras-team/keras-hub
6
6
  Author: Keras team
@@ -1,29 +1,23 @@
1
1
  keras_hub/__init__.py,sha256=QGdXyHgYt6cMUAP1ebxwc6oR86dE0dkMxNy2eOCQtFo,855
2
- keras_hub/api/__init__.py,sha256=spMxsgqzjpeuC8rY4WP-2kAZ2qwwKRSbFwddXgUjqQE,524
3
- keras_hub/api/bounding_box/__init__.py,sha256=T8R_X7BPm0et1xaZq8565uJmid7dylsSFSj4V-rGuFQ,1097
4
- keras_hub/api/layers/__init__.py,sha256=YO_YLbcxMEboFEgmFkzRf_JfQciQukX2AseOGpWEbDo,3195
2
+ keras_hub/api/__init__.py,sha256=EzR6D-XWsm_gDrX5LDwKEmrah_gu3ffpj8GKBudE0yI,485
3
+ keras_hub/api/layers/__init__.py,sha256=oHP3UTIAom7bK1E3nCZzK8wQ-TdYKtgF-wL9_-xzyhQ,3338
5
4
  keras_hub/api/metrics/__init__.py,sha256=So8Ec-lOcTzn_UUMmAdzDm8RKkPu2dbRUm2px8gpUEI,381
6
- keras_hub/api/models/__init__.py,sha256=suTcar7FqO5w9nNtalqmfYn7Fs6XmNEGpbojK-gaMEY,16795
5
+ keras_hub/api/models/__init__.py,sha256=YqsLw0u69F93OpS6E677hIeka_hIgjIleSt-xjVqqrk,17002
7
6
  keras_hub/api/samplers/__init__.py,sha256=n-_SEXxr2LNUzK2FqVFN7alsrkx1P_HOVTeLZKeGCdE,730
8
7
  keras_hub/api/tokenizers/__init__.py,sha256=mtJgQy1spfQnPAkeLoeinsT_W9iCWHlJXwzcol5W1aU,2524
9
8
  keras_hub/api/utils/__init__.py,sha256=Gp1E6gG-RtKQS3PBEQEOz9PQvXkXaJ0ySGMqZ7myN7A,215
10
9
  keras_hub/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
10
  keras_hub/src/api_export.py,sha256=9pQZK27JObxWZ96QPLBp1OBsjWigh1iuV6RglPGMRk0,1499
12
- keras_hub/src/version_utils.py,sha256=9jSO2EIm-H2g7HB6xeztJp-sIsCQm3uK5Cmu0f4CqFU,222
13
- keras_hub/src/bounding_box/__init__.py,sha256=7i6KnGupN4AVivR_dFjQyuuTbI0GkHy8d-aMXeqZdU8,95
14
- keras_hub/src/bounding_box/converters.py,sha256=UUp1hwegpDZyIo8sh9TLNy1v6JjwmvwzL6wmHFMAtbk,21916
15
- keras_hub/src/bounding_box/formats.py,sha256=YmskOz2BOSat7NaE__J9VfpSNGPJJR0znSzA4lp8MMI,3868
16
- keras_hub/src/bounding_box/iou.py,sha256=wmBKEUwu7Q-dJMoTO9I493NQAwpU7lF4oWLpccpkQ0I,9116
17
- keras_hub/src/bounding_box/to_dense.py,sha256=usSkar5PfEoW-ZasacBXNHpJ-XaRHLUTnSagef2sZxo,2775
18
- keras_hub/src/bounding_box/to_ragged.py,sha256=Z7lZN-wlMIF0FLRknewgqrRlIDhmhvWh8QwLAcNxoek,2874
19
- keras_hub/src/bounding_box/utils.py,sha256=ejWDLDTsZd_k3cfBqxhKWlYV2vwd0RInLmPNTPYpsLA,6441
20
- keras_hub/src/bounding_box/validate_format.py,sha256=05hdCs7ICavuEPog2syCuNe8i8r0xPZQSnkQA7ncr2c,3054
11
+ keras_hub/src/version_utils.py,sha256=xerud-Qd3XquCvXGjsryhnIuIA6bgqbnKrFjbxL91i0,222
21
12
  keras_hub/src/layers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
13
  keras_hub/src/layers/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
14
  keras_hub/src/layers/modeling/alibi_bias.py,sha256=1XBTHI52L_iJDhN_w5ydu_iMhCuTgQAxEPwcLA6BPuk,4411
15
+ keras_hub/src/layers/modeling/anchor_generator.py,sha256=gmT-RCtXpLzNoS4wf5xPgZZMjHnj9zp3VnEXRyxLE5c,6671
16
+ keras_hub/src/layers/modeling/box_matcher.py,sha256=lp1aQpTZtrGWScWM2iFnkIlXkzYO-Id6QvKnOPfXKWM,11242
24
17
  keras_hub/src/layers/modeling/cached_multi_head_attention.py,sha256=8IDyP3JMeALV1K7Ot04o6MehyS7zDVpci4uvlTZY1oc,5600
25
18
  keras_hub/src/layers/modeling/f_net_encoder.py,sha256=zkVeO5Nk_kBZCUGq2LeDGmPEIM_cr-aGqCKtQGOHKTY,6842
26
19
  keras_hub/src/layers/modeling/masked_lm_head.py,sha256=no6XQb76KB2cUiksYC0MSdyeDOK7pn8MY6cmdCDxpKs,9015
20
+ keras_hub/src/layers/modeling/non_max_supression.py,sha256=yAkAH1CCj_tYXgQTav39IRr_Uxn8hmzJgIxqbYQyZY8,22565
27
21
  keras_hub/src/layers/modeling/position_embedding.py,sha256=FfTS6JGMhnOIzo9bHzvoxBbdQNctc32iRLI7ZjdxoTY,3850
28
22
  keras_hub/src/layers/modeling/reversible_embedding.py,sha256=sfm5giI-bHu2J9xm9Tkydx8XM-I_m8Oe0wbW1gzrYjk,11141
29
23
  keras_hub/src/layers/modeling/rms_normalization.py,sha256=Ylnc9vkDw1A_ZqiKpQ09jVTAGumS5rspjdQOkH-mxf4,1084
@@ -35,7 +29,7 @@ keras_hub/src/layers/modeling/transformer_encoder.py,sha256=Qe19_aR6w4PTFbzvBmSP
35
29
  keras_hub/src/layers/modeling/transformer_layer_utils.py,sha256=FuznrW33iG50B-VDN8R1RjuA5JG72yNMJ1TBgWLxR0E,3487
36
30
  keras_hub/src/layers/preprocessing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
31
  keras_hub/src/layers/preprocessing/audio_converter.py,sha256=YGh_kQw65a1Z6S5zzSNVP-ChyLYHq3-eOYpOS53xIN8,4156
38
- keras_hub/src/layers/preprocessing/image_converter.py,sha256=XwqgHYWj0Z14UMGQw5E4pOm3MmgbuvQpBcKl36e-nvo,10962
32
+ keras_hub/src/layers/preprocessing/image_converter.py,sha256=z0lLTbAxNixecQcfxvugWaidRmjvlEUZSlPhv8DdS1k,12082
39
33
  keras_hub/src/layers/preprocessing/masked_lm_mask_generator.py,sha256=itxWq3FHYlR0I7jKarQlSKbSmRLl9ut_UTSP3ZDwP0A,8162
40
34
  keras_hub/src/layers/preprocessing/multi_segment_packer.py,sha256=ZNqnUFnc9Af122Q7T6YyUoXgIdU9AgIJfsvR1UrCjFU,12068
41
35
  keras_hub/src/layers/preprocessing/preprocessing_layer.py,sha256=WyX41b9Ev_YJ5uVQVOAqD0PQasMOPDoyDjl_PkzkAkE,687
@@ -56,14 +50,14 @@ keras_hub/src/models/causal_lm_preprocessor.py,sha256=YY7VJZicdmnjDSWi9g4_pEpd5b
56
50
  keras_hub/src/models/feature_pyramid_backbone.py,sha256=clEW-TTQSVJ_5qFNdDF0iABkin1p_xlBUFjJrC7T0IA,2247
57
51
  keras_hub/src/models/image_classifier.py,sha256=yt6cjhPfqs8A_eWXBsXdXFzn-aRgH2rVHUq7Zu7CyK8,7804
58
52
  keras_hub/src/models/image_classifier_preprocessor.py,sha256=Bf7jSqHB1hX2ZWoWQS4GcXNOY_EjeoJi-_vtzCAqw4o,2690
59
- keras_hub/src/models/image_object_detector.py,sha256=b4Gx6um7Li2-xNA6O2Nb_u0gGD4lmYGNbT3wVo5djho,3721
60
- keras_hub/src/models/image_object_detector_preprocessor.py,sha256=3g_Qfcu5Gi_HDzXai-QOAL7Td_NC-VsUr-7rJbXnQvk,2232
61
53
  keras_hub/src/models/image_segmenter.py,sha256=C1bzIO59pG58iist5GLn_qnlotDpcAVxPV_8a68BkAc,2876
62
54
  keras_hub/src/models/image_segmenter_preprocessor.py,sha256=d7I2Hk0SKWyKpjRS6WYccmh_CYQBpWoj0JF5RRrU6rw,3748
63
55
  keras_hub/src/models/image_to_image.py,sha256=IJLZ6svgvcQvypwF6oe4SbJj_Zuk2-CrgHFBQcsY7n8,16753
64
56
  keras_hub/src/models/inpaint.py,sha256=fxZZrheYIK1rI6BjqZsxt9G2U0afMZR62Z87ZzuSNrQ,20815
65
57
  keras_hub/src/models/masked_lm.py,sha256=uXO_dE_hILlOC9jNr6oK6IHi9IGUqLyNGvr6nMt8Rk0,3576
66
58
  keras_hub/src/models/masked_lm_preprocessor.py,sha256=g8vrnyYwqdnSw5xppROM1Gzo_jmMWKYZoQCsKdfrFKk,5656
59
+ keras_hub/src/models/object_detector.py,sha256=oAK42fFBKuN0G_WM-DhygFkgQ0KsEwU_ZiU4umHywqc,3757
60
+ keras_hub/src/models/object_detector_preprocessor.py,sha256=kOSVRNFAg-UjtrCEVBdHXUFyJy7kQtlVuGnZ1aLEfOk,2664
67
61
  keras_hub/src/models/preprocessor.py,sha256=kBlahgVST3L6vKeWDM4fXuDoXa6pwaJW2A5__L85wFU,8487
68
62
  keras_hub/src/models/seq_2_seq_lm.py,sha256=w0gX-5YZjatfvAJmFAgSHyqS_BLqc8FF8DPLGK8mrgI,1864
69
63
  keras_hub/src/models/seq_2_seq_lm_preprocessor.py,sha256=DJmm4VTt8AdLtq1k9YKl_VR31cKUHaYjfSbrk7-fJqA,9667
@@ -277,16 +271,13 @@ keras_hub/src/models/resnet/resnet_image_classifier_preprocessor.py,sha256=fM7gy
277
271
  keras_hub/src/models/resnet/resnet_image_converter.py,sha256=fgTxihJznGFss-y3Z-jp0JE3X1gaaB2y-f2KMwrT8Pk,342
278
272
  keras_hub/src/models/resnet/resnet_presets.py,sha256=cryfXlC_FSEN_jrexKIh5aVbzp87oYetoWeWpX0_lWQ,6947
279
273
  keras_hub/src/models/retinanet/__init__.py,sha256=veWIFvMN6151M69l7FvTcI-IIEe_8dLmNO5NLOszQ1c,275
280
- keras_hub/src/models/retinanet/anchor_generator.py,sha256=0OgKSW3OKmbc0cOPHF6FYTAzn7fcHklg665PGSwAaDM,6504
281
- keras_hub/src/models/retinanet/box_matcher.py,sha256=l820r1R-ByqiyVgmZ0YFjjz0njchDda-wItzLn1X84o,10834
282
274
  keras_hub/src/models/retinanet/feature_pyramid.py,sha256=hbdrj6X-D2SlwOp2h1WcBlTdSAlLmFK43X7OrkJRoMA,17614
283
- keras_hub/src/models/retinanet/non_max_supression.py,sha256=PMOLlRw-EnyEmhlUhJjEbHf1xXiplN95pUxQbiJQbN4,20996
284
275
  keras_hub/src/models/retinanet/prediction_head.py,sha256=xWHt21-SS2t7vCmTONlR1lSbJXhml5jx68V8MGbGybg,7863
285
276
  keras_hub/src/models/retinanet/retinanet_backbone.py,sha256=BJBPJLxpOCOU0Br7b4JsgCZBHQHLAhxLqo9BHNIsl1g,5659
286
- keras_hub/src/models/retinanet/retinanet_image_converter.py,sha256=jO2WSUVubjYc_lRV7A5unhkqQBvqzZN9GHy3dd2ie0U,1730
287
- keras_hub/src/models/retinanet/retinanet_label_encoder.py,sha256=K4Ffs5Gh052kIvStxQXM7jifMyJVAwAF3kZN-ofr9rQ,10935
288
- keras_hub/src/models/retinanet/retinanet_object_detector.py,sha256=ROVALhkKq5ImLnlDh4wcc1hVZCF9BD2piKwkpglApUE,15510
289
- keras_hub/src/models/retinanet/retinanet_object_detector_preprocessor.py,sha256=oKA-rSgX5kIOsCxKjo5Z3x2R5R15k_kUNQQXZ7VAR0c,584
277
+ keras_hub/src/models/retinanet/retinanet_image_converter.py,sha256=Yr1ACzrPXzX1equjDqkrzRQv5nL5TARICc55Gnhwx7o,785
278
+ keras_hub/src/models/retinanet/retinanet_label_encoder.py,sha256=Vowhs4uOZAevmVg1a19efIPfvjxkckXwsJDTX3VPDxs,10967
279
+ keras_hub/src/models/retinanet/retinanet_object_detector.py,sha256=WJ3YLnnC4mcCLLoE7uUFA0cOSVuFgnx9Cr47If50Aig,15595
280
+ keras_hub/src/models/retinanet/retinanet_object_detector_preprocessor.py,sha256=RnJkdqv4zYVcGx50sHoA7j9G1AKwEN-RNtyMQg-MMbo,568
290
281
  keras_hub/src/models/retinanet/retinanet_presets.py,sha256=ZOx4SM2c8BsqUQOikkWUhXLGq3Xut1hvjWt_gDXaJRM,510
291
282
  keras_hub/src/models/roberta/__init__.py,sha256=3ouSnKdLlMwoDDLVKD9cNtxam6f8XWgCyc0pwWJ0Zjo,263
292
283
  keras_hub/src/models/roberta/roberta_backbone.py,sha256=q16dylXbgWshT-elCA08lS_b_IZNphsBrrXiv3eJksM,6339
@@ -395,7 +386,7 @@ keras_hub/src/utils/keras_utils.py,sha256=ZULqIQylAQen-_pNC96htvLaxSJbfAenNoCo3Z
395
386
  keras_hub/src/utils/pipeline_model.py,sha256=jgzB6NQPSl0KOu08N-TazfOnXnUJbZjH2EXXhx25Ftg,9084
396
387
  keras_hub/src/utils/preset_utils.py,sha256=cRsviMUs-Xskg5KefJ-bQCL9y30yJFyVg3RtvmVCo8o,30504
397
388
  keras_hub/src/utils/python_utils.py,sha256=N8nWeO3san4YnGkffRXG3Ix7VEIMTKSN21FX5TuL7G8,202
398
- keras_hub/src/utils/tensor_utils.py,sha256=YVJesN91bk-OzJXY1mOKBppuY8noBU7zhPQNXPxZVGc,14646
389
+ keras_hub/src/utils/tensor_utils.py,sha256=lczQWgPVJU09cLtNbo8MErVFNV9ne4gNlrzbNVQazg4,15042
399
390
  keras_hub/src/utils/imagenet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
400
391
  keras_hub/src/utils/imagenet/imagenet_utils.py,sha256=MvIvv1WJo51ZXBxy4S7t_DsN3ZMtJWlC4cmRvKM2kIA,39304
401
392
  keras_hub/src/utils/timm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -417,7 +408,7 @@ keras_hub/src/utils/transformers/convert_pali_gemma.py,sha256=B1leeDw96Yvu81hYum
417
408
  keras_hub/src/utils/transformers/convert_vit.py,sha256=9SUZ9utNJhW_5cj3acMn9cRy47u2eIcDsrhmzj77o9k,5187
418
409
  keras_hub/src/utils/transformers/preset_loader.py,sha256=DgGJXbTSB9Na8FIR-YWWVqQPOFxHwWrGm41EwcS_EFs,3797
419
410
  keras_hub/src/utils/transformers/safetensor_utils.py,sha256=CYUHyA4y-B61r7NDnCsFb4t_UmSwZ1k9L-8gzEd6KRg,3339
420
- keras_hub_nightly-0.19.0.dev202502060348.dist-info/METADATA,sha256=qSqkL3rVgZubkSKyQioX5N7uoPjcnUIQK_Ecqa_jbSc,7498
421
- keras_hub_nightly-0.19.0.dev202502060348.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
422
- keras_hub_nightly-0.19.0.dev202502060348.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
423
- keras_hub_nightly-0.19.0.dev202502060348.dist-info/RECORD,,
411
+ keras_hub_nightly-0.19.0.dev202502080344.dist-info/METADATA,sha256=4-2tKEIq093C38m0YTkzJQIsqWpv-UxyR3o0wxGdrqc,7498
412
+ keras_hub_nightly-0.19.0.dev202502080344.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
413
+ keras_hub_nightly-0.19.0.dev202502080344.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
414
+ keras_hub_nightly-0.19.0.dev202502080344.dist-info/RECORD,,
@@ -1,23 +0,0 @@
1
- """DO NOT EDIT.
2
-
3
- This file was autogenerated. Do not edit it by hand,
4
- since your modifications would be overwritten.
5
- """
6
-
7
- from keras_hub.src.bounding_box.converters import convert_format
8
- from keras_hub.src.bounding_box.formats import CENTER_XYWH
9
- from keras_hub.src.bounding_box.formats import REL_XYWH
10
- from keras_hub.src.bounding_box.formats import REL_XYXY
11
- from keras_hub.src.bounding_box.formats import REL_YXYX
12
- from keras_hub.src.bounding_box.formats import XYWH
13
- from keras_hub.src.bounding_box.formats import XYXY
14
- from keras_hub.src.bounding_box.formats import YXYX
15
- from keras_hub.src.bounding_box.iou import compute_ciou
16
- from keras_hub.src.bounding_box.iou import compute_iou
17
- from keras_hub.src.bounding_box.to_dense import to_dense
18
- from keras_hub.src.bounding_box.to_ragged import to_ragged
19
- from keras_hub.src.bounding_box.utils import as_relative
20
- from keras_hub.src.bounding_box.utils import clip_boxes
21
- from keras_hub.src.bounding_box.utils import clip_to_image
22
- from keras_hub.src.bounding_box.utils import is_relative
23
- from keras_hub.src.bounding_box.validate_format import validate_format
@@ -1,2 +0,0 @@
1
- # TODO: Once all bounding boxes are moved to keras repostory remove the
2
- # bounding box folder.