keras-hub-nightly 0.24.0.dev202510290426__py3-none-any.whl → 0.24.0.dev202510310430__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.

Potentially problematic release.


This version of keras-hub-nightly might be problematic. Click here for more details.

@@ -0,0 +1,4 @@
1
+ """DINOV3 model preset configurations."""
2
+
3
+ # Metadata for loading pretrained model weights.
4
+ backbone_presets = {}
@@ -0,0 +1,106 @@
1
+ import numpy as np
2
+
3
+ from keras_hub.src.models.dinov3.dinov3_backbone import DINOV3Backbone
4
+
5
+ backbone_cls = DINOV3Backbone
6
+
7
+
8
+ def convert_backbone_config(transformers_config):
9
+ image_size = transformers_config["image_size"]
10
+ return {
11
+ "patch_size": transformers_config["patch_size"],
12
+ "num_layers": transformers_config["num_hidden_layers"],
13
+ "hidden_dim": transformers_config["hidden_size"],
14
+ "num_heads": transformers_config["num_attention_heads"],
15
+ "intermediate_dim": transformers_config["intermediate_size"],
16
+ "layer_scale_init_value": transformers_config["layerscale_value"],
17
+ "num_register_tokens": transformers_config["num_register_tokens"],
18
+ "use_mask_token": True,
19
+ "hidden_activation": transformers_config["hidden_act"],
20
+ "use_gated_mlp": transformers_config["use_gated_mlp"],
21
+ "use_query_bias": transformers_config["query_bias"],
22
+ "use_key_bias": transformers_config["key_bias"],
23
+ "use_value_bias": transformers_config["value_bias"],
24
+ "use_proj_bias": transformers_config["proj_bias"],
25
+ "use_mlp_bias": transformers_config["mlp_bias"],
26
+ "attention_dropout": transformers_config["attention_dropout"],
27
+ "drop_path_rate": transformers_config["drop_path_rate"],
28
+ "layer_norm_eps": transformers_config["layer_norm_eps"],
29
+ "image_shape": (image_size, image_size, 3),
30
+ "rope_theta": transformers_config["rope_theta"],
31
+ "apply_layernorm": False,
32
+ }
33
+
34
+
35
+ def convert_weights(backbone, loader, transformers_config):
36
+ if not isinstance(backbone, DINOV3Backbone):
37
+ raise ValueError(
38
+ "The provided backbone must be an instance of DINOV3Backbone. "
39
+ f"Received: {type(backbone)}"
40
+ )
41
+
42
+ def port_ln(keras_variable, weight_key):
43
+ loader.port_weight(keras_variable.gamma, f"{weight_key}.weight")
44
+ loader.port_weight(keras_variable.beta, f"{weight_key}.bias")
45
+
46
+ def port_dense(keras_variable, weight_key):
47
+ loader.port_weight(
48
+ keras_variable.kernel,
49
+ f"{weight_key}.weight",
50
+ hook_fn=lambda x, _: x.T,
51
+ )
52
+ if keras_variable.bias is not None:
53
+ loader.port_weight(keras_variable.bias, f"{weight_key}.bias")
54
+
55
+ # Embedding.
56
+ loader.port_weight(
57
+ keras_variable=backbone.embeddings.cls_token,
58
+ hf_weight_key="embeddings.cls_token",
59
+ )
60
+ if backbone.use_mask_token:
61
+ loader.port_weight(
62
+ keras_variable=backbone.embeddings.mask_token,
63
+ hf_weight_key="embeddings.mask_token",
64
+ )
65
+ if backbone.num_register_tokens > 0:
66
+ loader.port_weight(
67
+ keras_variable=backbone.embeddings.register_tokens,
68
+ hf_weight_key="embeddings.register_tokens",
69
+ )
70
+ loader.port_weight(
71
+ keras_variable=backbone.embeddings.patch_embeddings.projection.kernel,
72
+ hf_weight_key="embeddings.patch_embeddings.weight",
73
+ hook_fn=lambda x, _: np.transpose(x, (2, 3, 1, 0)),
74
+ )
75
+ loader.port_weight(
76
+ keras_variable=backbone.embeddings.patch_embeddings.projection.bias,
77
+ hf_weight_key="embeddings.patch_embeddings.bias",
78
+ )
79
+
80
+ # Encoder.
81
+ for i, layer in enumerate(backbone.encoder.layers):
82
+ prefix = f"layer.{i}"
83
+ port_ln(layer.norm1, f"{prefix}.norm1")
84
+ port_dense(layer.attention.query_dense, f"{prefix}.attention.q_proj")
85
+ port_dense(layer.attention.key_dense, f"{prefix}.attention.k_proj")
86
+ port_dense(layer.attention.value_dense, f"{prefix}.attention.v_proj")
87
+ port_dense(layer.attention.output_dense, f"{prefix}.attention.o_proj")
88
+
89
+ loader.port_weight(
90
+ keras_variable=layer.layer_scale1.lambda1,
91
+ hf_weight_key=f"{prefix}.layer_scale1.lambda1",
92
+ )
93
+ port_ln(layer.norm2, f"{prefix}.norm2")
94
+ if backbone.use_gated_mlp:
95
+ port_dense(layer.mlp.gate_proj, f"{prefix}.mlp.gate_proj")
96
+ port_dense(layer.mlp.up_proj, f"{prefix}.mlp.up_proj")
97
+ port_dense(layer.mlp.down_proj, f"{prefix}.mlp.down_proj")
98
+ else:
99
+ port_dense(layer.mlp.up_proj, f"{prefix}.mlp.up_proj")
100
+ port_dense(layer.mlp.down_proj, f"{prefix}.mlp.down_proj")
101
+ loader.port_weight(
102
+ keras_variable=layer.layer_scale2.lambda1,
103
+ hf_weight_key=f"{prefix}.layer_scale2.lambda1",
104
+ )
105
+
106
+ port_ln(backbone.layernorm, "norm")
@@ -8,6 +8,7 @@ from keras_hub.src.utils.transformers import convert_bart
8
8
  from keras_hub.src.utils.transformers import convert_bert
9
9
  from keras_hub.src.utils.transformers import convert_deit
10
10
  from keras_hub.src.utils.transformers import convert_dinov2
11
+ from keras_hub.src.utils.transformers import convert_dinov3
11
12
  from keras_hub.src.utils.transformers import convert_distilbert
12
13
  from keras_hub.src.utils.transformers import convert_esm
13
14
  from keras_hub.src.utils.transformers import convert_gemma
@@ -42,6 +43,8 @@ class TransformersPresetLoader(PresetLoader):
42
43
  self.converter = convert_distilbert
43
44
  elif model_type in ("dinov2", "dinov2_with_registers"):
44
45
  self.converter = convert_dinov2
46
+ elif model_type == "dinov3_vit":
47
+ self.converter = convert_dinov3
45
48
  elif model_type == "esm":
46
49
  self.converter = convert_esm
47
50
  elif model_type in ("gemma", "gemma2"):
keras_hub/src/version.py CHANGED
@@ -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.24.0.dev202510290426"
4
+ __version__ = "0.24.0.dev202510310430"
5
5
 
6
6
 
7
7
  @keras_hub_export("keras_hub.version")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keras-hub-nightly
3
- Version: 0.24.0.dev202510290426
3
+ Version: 0.24.0.dev202510310430
4
4
  Summary: Pretrained models for Keras.
5
5
  Author-email: Keras team <keras-users@googlegroups.com>
6
6
  License-Expression: Apache-2.0
@@ -1,11 +1,11 @@
1
1
  keras_hub/__init__.py,sha256=bJbUZkqwhZvTb1Tqx1fbkq6mzBYiEyq-Hin3oQIkhdE,558
2
- keras_hub/layers/__init__.py,sha256=ufJKHxMTFhwp--E3ixfGCZqq89pZOUOxCQYgI5pEUA8,5944
2
+ keras_hub/layers/__init__.py,sha256=hY5hZX5oOxRTFxfPe2hGhrHWJwF1kB7QiwITSS4Xp2A,6061
3
3
  keras_hub/metrics/__init__.py,sha256=KYalsMPBnfwim9BdGHFfJ5WxUKFXOQ1QoKIMT_0lwlM,439
4
- keras_hub/models/__init__.py,sha256=yazrEg57HafE6Fgr-bfDXR3iFrArx6RytOEnV1CJJS8,32068
4
+ keras_hub/models/__init__.py,sha256=XGYkwfBVZiPw5ZjSV5S_n3FnkPf06yYNzxZjXMhiX70,32166
5
5
  keras_hub/samplers/__init__.py,sha256=aFQIkiqbZpi8vjrPp2MVII4QUfE-eQjra5fMeHsoy7k,886
6
6
  keras_hub/src/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  keras_hub/src/api_export.py,sha256=9pQZK27JObxWZ96QPLBp1OBsjWigh1iuV6RglPGMRk0,1499
8
- keras_hub/src/version.py,sha256=Nh2Aqd9ylzq8xpTrUjN_y4Lw7YmCbHWaDD1gVhHuQ8o,222
8
+ keras_hub/src/version.py,sha256=0WSFntCJ00ZL9TcilPRyrdBCIRF1MwNcsHiA0ziHfMw,222
9
9
  keras_hub/src/layers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  keras_hub/src/layers/modeling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  keras_hub/src/layers/modeling/alibi_bias.py,sha256=1XBTHI52L_iJDhN_w5ydu_iMhCuTgQAxEPwcLA6BPuk,4411
@@ -174,8 +174,13 @@ keras_hub/src/models/depth_anything/interpolate.py,sha256=qwrPGP6wA4jZ-XcSeulhky
174
174
  keras_hub/src/models/dinov2/__init__.py,sha256=qacZi82EfAloVND4gDLZjqgR5_yVdz_dc4mMKyCsjOA,257
175
175
  keras_hub/src/models/dinov2/dinov2_backbone.py,sha256=QH3lzE1EnxTcOSii9KS1Qx3lq0XcZMsvElB7AL_ejZY,10672
176
176
  keras_hub/src/models/dinov2/dinov2_image_converter.py,sha256=gfFROdYV5rOzo3kJFlRvRHYjek8z9YirKfrFwlVJO3g,342
177
- keras_hub/src/models/dinov2/dinov2_layers.py,sha256=UCcia2kWA1O37SMmUbyhUcSXmUpLfNjk1E6mPTPDrF0,33647
177
+ keras_hub/src/models/dinov2/dinov2_layers.py,sha256=wo80Re043Gjly-XE-sT01QAYq3h793zhmU-Nb6SFN4g,33702
178
178
  keras_hub/src/models/dinov2/dinov2_presets.py,sha256=ho493GPH98K4LH1E54UV2qZZ4h7Un9ylbBmMQjNoKh4,2937
179
+ keras_hub/src/models/dinov3/__init__.py,sha256=AI7vTZJBG6Ygb48o6pXtHzxKk0Rek3p7-HffD-Y48cc,257
180
+ keras_hub/src/models/dinov3/dinov3_backbone.py,sha256=WDHipJSG10seRzYG_hARifF52wqhj9enkhuZ6mgJmjw,10511
181
+ keras_hub/src/models/dinov3/dinov3_image_converter.py,sha256=_oHDcI2CoxjbSLxLfkK1zEPcf4Goy0S66igmrXt58cQ,342
182
+ keras_hub/src/models/dinov3/dinov3_layers.py,sha256=w5K2btblrgrULqzPQdbvtkyR5Px2UZkqcZQ7jq2K3Uk,37169
183
+ keras_hub/src/models/dinov3/dinov3_presets.py,sha256=AXXdrgrs9WBrsGlac0TgWV0DIPnvKdlxD3kUhbii1sk,114
179
184
  keras_hub/src/models/distil_bert/__init__.py,sha256=3Z0w-Mt3aOR0u9RGzjHQ7B3J3qBF2pGjupDGQ9yyzoc,303
180
185
  keras_hub/src/models/distil_bert/distil_bert_backbone.py,sha256=rnAf_GokB3wAeJwVZtgUKQO_bKJIa8RavhL_ykTJpNw,6440
181
186
  keras_hub/src/models/distil_bert/distil_bert_masked_lm.py,sha256=axeZd5UcxFr3_Q8H4yG10CINh93wbcyjlPLauqe5N9E,4289
@@ -598,6 +603,7 @@ keras_hub/src/utils/transformers/convert_bart.py,sha256=Tk4h9Md9rwN5wjQbGIVrC7qz
598
603
  keras_hub/src/utils/transformers/convert_bert.py,sha256=4gQqXCJzC9QWdLPDUAq741K8t_kjPIET050YjUnLeDA,5977
599
604
  keras_hub/src/utils/transformers/convert_deit.py,sha256=ubcqYzMlhWTCE2S_TsXICCMmqjN9RsQPaw_70vArnjo,5306
600
605
  keras_hub/src/utils/transformers/convert_dinov2.py,sha256=Zmxz33hKJCcykQOcW8XhG_Yy1l8XqIYam1cjzM69-Mk,6986
606
+ keras_hub/src/utils/transformers/convert_dinov3.py,sha256=rZqowTASKSAQQ1HrwlD9_tY7VAQHY_C4_61ky5wUbvE,4448
601
607
  keras_hub/src/utils/transformers/convert_distilbert.py,sha256=SlfIRhSRk5c1ir2HGiDPiXa5XdOId_DbcnZO9lbwyZ8,6498
602
608
  keras_hub/src/utils/transformers/convert_esm.py,sha256=rOgGnNY37ZbYnoVC3L-Y-yGGAxTRmYtQV0nJoandH2Y,6214
603
609
  keras_hub/src/utils/transformers/convert_gemma.py,sha256=ElCgwBpSN5Q7rV5PJawTsoytPzs5ZjuwoY60YAe8y_A,6533
@@ -613,13 +619,13 @@ keras_hub/src/utils/transformers/convert_qwen_moe.py,sha256=a7R28aln-PdAcNuKAXdr
613
619
  keras_hub/src/utils/transformers/convert_smollm3.py,sha256=V2vWES85YSNXNx39I8OwAcOvSpb9KxUscrDr7ra-LPA,5281
614
620
  keras_hub/src/utils/transformers/convert_t5gemma.py,sha256=DPOwd61UhjspKuCsk3_EaNvSADGP_f8KLcZARHYVk5Y,9490
615
621
  keras_hub/src/utils/transformers/convert_vit.py,sha256=YAmXh519ecSgEO5B4g-aEQg1Bb_6ifFafLMqDTfLn_c,5259
616
- keras_hub/src/utils/transformers/preset_loader.py,sha256=PmB4wcPaMlqMhrhk2bYt74TvRHRsZgpodfKlzixfr-Q,5219
622
+ keras_hub/src/utils/transformers/preset_loader.py,sha256=alzuIEhDI6gLpEw05wPJVbOJ2LhwmLB_s7JhDqkb4ec,5364
617
623
  keras_hub/src/utils/transformers/safetensor_utils.py,sha256=CYUHyA4y-B61r7NDnCsFb4t_UmSwZ1k9L-8gzEd6KRg,3339
618
624
  keras_hub/src/utils/transformers/export/gemma.py,sha256=xX_vfQwvFZ_-lQX4kgMNOGKL7fL_1yk7QyGYV2Qyly4,4699
619
625
  keras_hub/src/utils/transformers/export/hf_exporter.py,sha256=Qk52c6LIA2eMHUNY9Vy4STJSpnhLMdJ_t-3ljqhSr4k,5081
620
626
  keras_hub/tokenizers/__init__.py,sha256=XFOxDmM1Mz9TxiE8ICZK_-yTTyRFywUUiVwRIzz2QZ8,4770
621
627
  keras_hub/utils/__init__.py,sha256=jXPqVGBpJr_PpYmqD8aDG-fRMlxH-ulqCR2SZMn288Y,646
622
- keras_hub_nightly-0.24.0.dev202510290426.dist-info/METADATA,sha256=Y9Nc7kh3_7VHQ-I4ovpOj-ozM_cTCyhHFKgXvceNQCI,7395
623
- keras_hub_nightly-0.24.0.dev202510290426.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
624
- keras_hub_nightly-0.24.0.dev202510290426.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
625
- keras_hub_nightly-0.24.0.dev202510290426.dist-info/RECORD,,
628
+ keras_hub_nightly-0.24.0.dev202510310430.dist-info/METADATA,sha256=idj79ww2N2X7uewaMLtsQ95IbxA3T9Q-BWT8ZP0CvAQ,7395
629
+ keras_hub_nightly-0.24.0.dev202510310430.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
630
+ keras_hub_nightly-0.24.0.dev202510310430.dist-info/top_level.txt,sha256=N4J6piIWBKa38A4uV-CnIopnOEf8mHAbkNXafXm_CuA,10
631
+ keras_hub_nightly-0.24.0.dev202510310430.dist-info/RECORD,,