ai-edge-quantizer-nightly 0.3.0.dev20250717__py3-none-any.whl → 0.3.0.dev20250719__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.
@@ -116,6 +116,7 @@ MIN_MAX_OP_NAME_MATERIALIZE_FUNC_DICT = {
116
116
  _TFLOpName.GATHER_ND: common_quantize.materialize_gather_nd,
117
117
  _TFLOpName.PACK: common_quantize.materialize_pack,
118
118
  _TFLOpName.UNPACK: common_quantize.materialize_unpack,
119
+ _TFLOpName.DIV: common_quantize.materialize_div,
119
120
  }
120
121
  for op_name, materialize_func in MIN_MAX_OP_NAME_MATERIALIZE_FUNC_DICT.items():
121
122
  register_quantized_op(
@@ -258,6 +259,7 @@ _OCTAV_OP_NAME_MATERIALIZE_FUNC_DICT = immutabledict({
258
259
  _TFLOpName.GATHER_ND: common_quantize.materialize_gather_nd,
259
260
  _TFLOpName.PACK: common_quantize.materialize_pack,
260
261
  _TFLOpName.UNPACK: common_quantize.materialize_unpack,
262
+ _TFLOpName.DIV: common_quantize.materialize_div,
261
263
  })
262
264
 
263
265
  for op_name, materialize_func in _OCTAV_OP_NAME_MATERIALIZE_FUNC_DICT.items():
@@ -794,6 +794,21 @@ def materialize_unpack(
794
794
  )
795
795
 
796
796
 
797
+ def materialize_div(
798
+ get_tensor_quant_params_fn: qtyping.GetTensorQuantParamsFuncSignature,
799
+ op_info: qtyping.OpInfo,
800
+ graph_info: qtyping.GraphInfo,
801
+ tensor_name_to_qsv: dict[str, Any],
802
+ ) -> list[qtyping.TensorTransformationParams]:
803
+ """Materialize tensors in tfl.div."""
804
+ return common_utils.materialize_standard_op(
805
+ op_info,
806
+ graph_info,
807
+ tensor_name_to_qsv,
808
+ get_tensor_quant_params_fn,
809
+ )
810
+
811
+
797
812
  def _get_tensor_shape_for_blockwise(
798
813
  tensor_shape: Sequence[int], quantized_dim: int, block_size: int
799
814
  ) -> list[int]:
@@ -302,7 +302,7 @@ class CalibratorToyGemma2Test(googletest.TestCase):
302
302
  self._toy_gemma2_calibration_dataset,
303
303
  model_recipe_manager=recipe_mngr,
304
304
  )
305
- self.assertLen(calib.get_model_qsvs(), 282)
305
+ self.assertLen(calib.get_model_qsvs(), 288)
306
306
 
307
307
 
308
308
  if __name__ == "__main__":
@@ -189,7 +189,8 @@ DEFAULT_JSON_POLICY = """
189
189
  "RESIZE_BILINEAR",
190
190
  "GATHER_ND",
191
191
  "PACK",
192
- "UNPACK"
192
+ "UNPACK",
193
+ "DIV"
193
194
  ],
194
195
  "static_wi8_ai8": [
195
196
  "ADD",
@@ -227,7 +228,8 @@ DEFAULT_JSON_POLICY = """
227
228
  "RESIZE_BILINEAR",
228
229
  "GATHER_ND",
229
230
  "PACK",
230
- "UNPACK"
231
+ "UNPACK",
232
+ "DIV"
231
233
  ],
232
234
  "static_wi4_ai8": ["FULLY_CONNECTED", "CONV_2D", "INPUT", "OUTPUT", "EMBEDDING_LOOKUP"],
233
235
  "static_wi4_ai16": ["FULLY_CONNECTED", "CONV_2D", "INPUT", "OUTPUT", "EMBEDDING_LOOKUP"],
@@ -69,6 +69,7 @@ class TFLOperationName(str, enum.Enum):
69
69
  GATHER_ND = 'GATHER_ND'
70
70
  PACK = 'PACK'
71
71
  UNPACK = 'UNPACK'
72
+ DIV = 'DIV'
72
73
 
73
74
 
74
75
  class QuantizeMode(enum.Enum):
@@ -63,6 +63,7 @@ TFL_OP_NAME_TO_CODE = immutabledict.immutabledict({
63
63
  _TFLOpName.GATHER_ND: schema.BuiltinOperator.GATHER_ND,
64
64
  _TFLOpName.PACK: schema.BuiltinOperator.PACK,
65
65
  _TFLOpName.UNPACK: schema.BuiltinOperator.UNPACK,
66
+ _TFLOpName.DIV: schema.BuiltinOperator.DIV,
66
67
  })
67
68
 
68
69
  TFL_OP_CODE_TO_NAME = immutabledict.immutabledict(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ai-edge-quantizer-nightly
3
- Version: 0.3.0.dev20250717
3
+ Version: 0.3.0.dev20250719
4
4
  Summary: A quantizer for advanced developers to quantize converted AI Edge models.
5
5
  Home-page: https://github.com/google-ai-edge/ai-edge-quantizer
6
6
  Keywords: On-Device ML,AI,Google,TFLite,Quantization,LLMs,GenAI
@@ -1,18 +1,18 @@
1
1
  ai_edge_quantizer/__init__.py,sha256=4pFSkukSwahYyzwqia0yPRyz8TnFQfGRthVJhYpMWas,793
2
- ai_edge_quantizer/algorithm_manager.py,sha256=-a3FMPJ-mLG20v5wO1CbzJryLlbWqqvTzxdyt0CafX0,12574
2
+ ai_edge_quantizer/algorithm_manager.py,sha256=776VBmJerYII1TYwauxjg5zgUuY38lcVMQy3joR1FG0,12680
3
3
  ai_edge_quantizer/algorithm_manager_api.py,sha256=u903TG0s1uIDhJqfeJne3CFl8A93phZrwgV2-hwdcXU,9247
4
4
  ai_edge_quantizer/algorithm_manager_api_test.py,sha256=w6bSONvXkX6bzXAGc0-7b6gNDt9oz9ieq97KP8Sg_JU,7666
5
5
  ai_edge_quantizer/calibrator.py,sha256=Sms7_AIHPH9G5xFaz5Ef3a5gPhxuIWQI8d2LUM8C96I,12071
6
- ai_edge_quantizer/calibrator_test.py,sha256=C_oWOaRugPKYX74jF-eRFH-k6nGOdA8I9_uPiocaOuE,11900
6
+ ai_edge_quantizer/calibrator_test.py,sha256=ejKc5YC7id8J1Ll9HAYCzMnKzxd0FUENSD06zkSSV0c,11900
7
7
  ai_edge_quantizer/conftest.py,sha256=SxCz-5LlRD_lQm4hQc4c6IGG7DS8d7IyEWY9gnscPN0,794
8
- ai_edge_quantizer/default_policy.py,sha256=HHOPkBxuPP5NO-aLfqKCKyrmoZJ4vKT16vwn4d5BOFA,11340
8
+ ai_edge_quantizer/default_policy.py,sha256=JkvwaQEqvBh1BKBNwS179wbgJp7C5M-bkhSJoN_wDZQ,11366
9
9
  ai_edge_quantizer/model_modifier.py,sha256=teGa8I6kGvn6TQY6Xv53YFIc_pQEhNvM9Zb4bvhezyw,7110
10
10
  ai_edge_quantizer/model_modifier_test.py,sha256=cJd04SLOG-fQZZNZPcisoBLx3cLtWEwGqUBbLb-pif4,4751
11
11
  ai_edge_quantizer/model_validator.py,sha256=Hj0_5o-Oa3dSlJ3ryVjRhvsyelHNyek1GrtG9buMczg,13153
12
12
  ai_edge_quantizer/model_validator_test.py,sha256=EeqOP_mrZsnZ3rug756s0ryDDqd2KgIDld5Lm_gDuWY,13020
13
13
  ai_edge_quantizer/params_generator.py,sha256=hcgMHJlERZERUyIAEi6AHJcLJ8gsKIBAEojzFFz-tqk,20098
14
14
  ai_edge_quantizer/params_generator_test.py,sha256=RDYoRZDJfEZRtjlTAU2kZ_4t3JHOqEHxfJX9V4ETAhg,40597
15
- ai_edge_quantizer/qtyping.py,sha256=uCguCckBh9QTnsyCw-EX8IbXROAA5fwZ21_iX5Yu0z8,16640
15
+ ai_edge_quantizer/qtyping.py,sha256=J81aZXCe5jUDsQLP4T6slCmVIfN1R-sduGBXOLGuaRA,16654
16
16
  ai_edge_quantizer/quantizer.py,sha256=g3DMqFMrMpt9jQttCE0WcdNbMtk0JZnmN5MmCHrNdyM,13202
17
17
  ai_edge_quantizer/quantizer_test.py,sha256=K_HBA56JkFI3HL8VLWCqGEfC0ISh5ldMKoNyBdGRAJg,20368
18
18
  ai_edge_quantizer/recipe.py,sha256=FR0uJceumZrnle2VRSOQZ1uXup4S1cTYKRH-N53mWRo,2919
@@ -28,7 +28,7 @@ ai_edge_quantizer/algorithms/nonlinear_quantize/__init__.py,sha256=lpq1g2ayg3lCP
28
28
  ai_edge_quantizer/algorithms/nonlinear_quantize/float_casting.py,sha256=Bs9CK7wZAw6jNaZ8xEtbwO2vM34VYXNZSMVWvxJo9nw,9297
29
29
  ai_edge_quantizer/algorithms/nonlinear_quantize/float_casting_test.py,sha256=EqIHGEZ1LgUrTN7zf880RuAzEv3Qy7kgh5ivObJGHSo,22646
30
30
  ai_edge_quantizer/algorithms/uniform_quantize/__init__.py,sha256=lpq1g2ayg3lCPLy79t2VicYcnGKw64FfYIj1V7J-4m8,676
31
- ai_edge_quantizer/algorithms/uniform_quantize/common_quantize.py,sha256=uvPe3QGSMZSeVfHCt2DXhXf_iX7Gu4H-pDmlC_2p34E,31788
31
+ ai_edge_quantizer/algorithms/uniform_quantize/common_quantize.py,sha256=LH6tBhgWeZWwhSL3hG8kUgh5bmtHAs_issHFsEwagkM,32221
32
32
  ai_edge_quantizer/algorithms/uniform_quantize/common_quantize_test.py,sha256=GGf_n3wIeg3GB_eGsmyNJ0fTcxgpeMMbugTMRONK6TQ,3553
33
33
  ai_edge_quantizer/algorithms/uniform_quantize/dequantized_weight_recovery.py,sha256=BDdn_uBZakfHyzdMJPKadsOqxqyC-s6W2ZzFH99L4fE,8652
34
34
  ai_edge_quantizer/algorithms/uniform_quantize/dequantized_weight_recovery_test.py,sha256=sT5eX5TLZEHTtPfnSkCPDlS0sQxlTFWbCsbvOuj--yY,8889
@@ -62,14 +62,14 @@ ai_edge_quantizer/utils/__init__.py,sha256=lpq1g2ayg3lCPLy79t2VicYcnGKw64FfYIj1V
62
62
  ai_edge_quantizer/utils/calibration_utils.py,sha256=e3dG7Nm94Ix0hkTWTWPUhEG6a8QR_cAM3PSwblfJV5g,15106
63
63
  ai_edge_quantizer/utils/calibration_utils_test.py,sha256=4BlksXl7b4yptL8xPR67hmJCnjhN9V10a2PunzfHrUE,9372
64
64
  ai_edge_quantizer/utils/test_utils.py,sha256=spqUmSNciOKPQHCBkHE7Zo34eMFq_BfBCAnMT3jAulU,8615
65
- ai_edge_quantizer/utils/tfl_flatbuffer_utils.py,sha256=7r3XL2Gq44yQy6dY6mTr4YcP77nNZr2hHJmjFT74ar0,10994
65
+ ai_edge_quantizer/utils/tfl_flatbuffer_utils.py,sha256=vCrFYE3lbnn4eP_L-P6ymjehV8KYpQyqQjoqn2OxOGo,11042
66
66
  ai_edge_quantizer/utils/tfl_flatbuffer_utils_test.py,sha256=K1SbK8q92qYVtiVj0I0GtugsPTkpIpEKv9zakvFV_Sc,8555
67
67
  ai_edge_quantizer/utils/tfl_interpreter_utils.py,sha256=SKSu1nqhGGzVei_DxmzXK-bbOE7G1vKnPDc5skce-yY,14322
68
68
  ai_edge_quantizer/utils/tfl_interpreter_utils_test.py,sha256=6fjkM-rycZ95L4yfvlr0TN6RlrhfPzxNUYrZaYO_F0A,12013
69
69
  ai_edge_quantizer/utils/validation_utils.py,sha256=oYw33Sg547AqtGw-choPUJmp9SAKkV46J_ddqSsum2Q,3950
70
70
  ai_edge_quantizer/utils/validation_utils_test.py,sha256=V_qNDikPD4OPB-siOLQCWNVWTAu87h2IgNYt7teFd-o,2934
71
- ai_edge_quantizer_nightly-0.3.0.dev20250717.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
- ai_edge_quantizer_nightly-0.3.0.dev20250717.dist-info/METADATA,sha256=xPjBxaSgNxUXvIo843eAMpWZWjGp0a_gNbZhanhFk6s,1528
73
- ai_edge_quantizer_nightly-0.3.0.dev20250717.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
74
- ai_edge_quantizer_nightly-0.3.0.dev20250717.dist-info/top_level.txt,sha256=8QTfPnFXNVUhScFLaa-NWZMFWMn72M50DVPubpwWB1g,18
75
- ai_edge_quantizer_nightly-0.3.0.dev20250717.dist-info/RECORD,,
71
+ ai_edge_quantizer_nightly-0.3.0.dev20250719.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ ai_edge_quantizer_nightly-0.3.0.dev20250719.dist-info/METADATA,sha256=6W22DhvRqpiAy2KjmsqDKoqnRYxTVu34OK77J-9L36k,1528
73
+ ai_edge_quantizer_nightly-0.3.0.dev20250719.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
74
+ ai_edge_quantizer_nightly-0.3.0.dev20250719.dist-info/top_level.txt,sha256=8QTfPnFXNVUhScFLaa-NWZMFWMn72M50DVPubpwWB1g,18
75
+ ai_edge_quantizer_nightly-0.3.0.dev20250719.dist-info/RECORD,,