ai-edge-quantizer-nightly 0.3.0.dev20250808__py3-none-any.whl → 0.3.0.dev20250810__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.
@@ -121,6 +121,7 @@ MIN_MAX_OP_NAME_MATERIALIZE_FUNC_DICT = {
121
121
  _TFLOpName.SQRT: common_quantize.materialize_sqrt,
122
122
  _TFLOpName.GATHER: common_quantize.materialize_gather,
123
123
  _TFLOpName.HARD_SWISH: common_quantize.materialize_hard_swish,
124
+ _TFLOpName.MAXIMUM: common_quantize.materialize_maximum,
124
125
  }
125
126
  for op_name, materialize_func in MIN_MAX_OP_NAME_MATERIALIZE_FUNC_DICT.items():
126
127
  register_quantized_op(
@@ -268,6 +269,7 @@ _OCTAV_OP_NAME_MATERIALIZE_FUNC_DICT = immutabledict({
268
269
  _TFLOpName.SQRT: common_quantize.materialize_sqrt,
269
270
  _TFLOpName.GATHER: common_quantize.materialize_gather,
270
271
  _TFLOpName.HARD_SWISH: common_quantize.materialize_hard_swish,
272
+ _TFLOpName.MAXIMUM: common_quantize.materialize_maximum,
271
273
  })
272
274
 
273
275
  for op_name, materialize_func in _OCTAV_OP_NAME_MATERIALIZE_FUNC_DICT.items():
@@ -762,6 +762,22 @@ def materialize_gather_nd(
762
762
  )
763
763
 
764
764
 
765
+ def materialize_maximum(
766
+ get_tensor_quant_params_fn: qtyping.GetTensorQuantParamsFuncSignature,
767
+ op_info: qtyping.OpInfo,
768
+ graph_info: qtyping.GraphInfo,
769
+ tensor_name_to_qsv: dict[str, Any],
770
+ ) -> list[qtyping.TensorTransformationParams]:
771
+ """Materialize tensors in tfl.maximum."""
772
+ return common_utils.materialize_standard_op(
773
+ op_info,
774
+ graph_info,
775
+ tensor_name_to_qsv,
776
+ get_tensor_quant_params_fn,
777
+ constraint=_OpQuantConstraint.SAME_AS_OUTPUT_SCALE,
778
+ )
779
+
780
+
765
781
  def materialize_pack(
766
782
  get_tensor_quant_params_fn: qtyping.GetTensorQuantParamsFuncSignature,
767
783
  op_info: qtyping.OpInfo,
@@ -193,7 +193,8 @@ DEFAULT_JSON_POLICY = """
193
193
  "DIV",
194
194
  "BROADCAST_TO",
195
195
  "SQRT",
196
- "GATHER"
196
+ "GATHER",
197
+ "MAXIMUM"
197
198
  ],
198
199
  "static_wi8_ai8": [
199
200
  "ADD",
@@ -236,7 +237,8 @@ DEFAULT_JSON_POLICY = """
236
237
  "BROADCAST_TO",
237
238
  "SQRT",
238
239
  "GATHER",
239
- "HARD_SWISH"
240
+ "HARD_SWISH",
241
+ "MAXIMUM"
240
242
  ],
241
243
  "static_wi4_ai8": ["FULLY_CONNECTED", "CONV_2D", "INPUT", "OUTPUT", "EMBEDDING_LOOKUP"],
242
244
  "static_wi4_ai16": ["FULLY_CONNECTED", "CONV_2D", "INPUT", "OUTPUT", "EMBEDDING_LOOKUP"],
@@ -74,6 +74,7 @@ class TFLOperationName(str, enum.Enum):
74
74
  SQRT = 'SQRT'
75
75
  GATHER = 'GATHER'
76
76
  HARD_SWISH = 'HARD_SWISH'
77
+ MAXIMUM = 'MAXIMUM'
77
78
 
78
79
 
79
80
  class QuantizeMode(enum.Enum):
@@ -68,6 +68,7 @@ TFL_OP_NAME_TO_CODE = immutabledict.immutabledict({
68
68
  _TFLOpName.SQRT: schema.BuiltinOperator.SQRT,
69
69
  _TFLOpName.GATHER: schema.BuiltinOperator.GATHER,
70
70
  _TFLOpName.HARD_SWISH: schema.BuiltinOperator.HARD_SWISH,
71
+ _TFLOpName.MAXIMUM: schema.BuiltinOperator.MAXIMUM,
71
72
  })
72
73
 
73
74
  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.dev20250808
3
+ Version: 0.3.0.dev20250810
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=oVL12M4VCGAhUSXBdNS3uFhVvSUlsTil7Z9ZvHGJitU,13184
2
+ ai_edge_quantizer/algorithm_manager.py,sha256=wiX9MTXUEMyUnhQv06EVFtLgFgM6gWCezGUXKotnPPU,13306
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
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=vOzFK46MOa-oxDv3r-UVZ2TV5LvXTTC0130_3UKn1do,11490
8
+ ai_edge_quantizer/default_policy.py,sha256=OyWc3fm5A7L28VjMag50yNbQXWJ7GX17JMpwn_pz1GA,11524
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=RizihFS6JKNog985kgI05_u0OmmhGwj8q2iAOt2UA_I,16750
15
+ ai_edge_quantizer/qtyping.py,sha256=62OjOcIPV477bICisjU822L6EtnFoJV0kmWgVSrJxXg,16772
16
16
  ai_edge_quantizer/quantizer.py,sha256=WeKwhh8cYZ07DUwvS0S1EdNzEZSfPODlynqIBvJ-Br4,13624
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=2LMMrhJUiKaoD6MUmokHe7sfEFKnLacR-eijf7JIeN0,34250
31
+ ai_edge_quantizer/algorithms/uniform_quantize/common_quantize.py,sha256=7H_QHhFKqVxGjhYp-_MXMAUR_VBk2kpATbta9EdhId0,34749
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=a4Nk-wbeB09dFjTDZiA0K67d26j5DD0UDH_GIVmVG_4,8685
65
- ai_edge_quantizer/utils/tfl_flatbuffer_utils.py,sha256=KZOdxFHX0Spu3nKJQEwisXchPDV8cnIak3HdmljTJ2w,11274
65
+ ai_edge_quantizer/utils/tfl_flatbuffer_utils.py,sha256=5QcNk7VTpVJzHhj6wuU4kN-nO609oFvRWVD-9Jbdky0,11330
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=EoVjI_hplX_Rml3hfRsGmQOihexmizeJqt4SQcET9aA,14925
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.dev20250808.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
- ai_edge_quantizer_nightly-0.3.0.dev20250808.dist-info/METADATA,sha256=IkFImwHksEJ05BBzHhlrTtJnZO0vq0I650a2AVrAgyk,1528
73
- ai_edge_quantizer_nightly-0.3.0.dev20250808.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
74
- ai_edge_quantizer_nightly-0.3.0.dev20250808.dist-info/top_level.txt,sha256=8QTfPnFXNVUhScFLaa-NWZMFWMn72M50DVPubpwWB1g,18
75
- ai_edge_quantizer_nightly-0.3.0.dev20250808.dist-info/RECORD,,
71
+ ai_edge_quantizer_nightly-0.3.0.dev20250810.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
72
+ ai_edge_quantizer_nightly-0.3.0.dev20250810.dist-info/METADATA,sha256=59taGvAmQ8Zd-tLg3oNQNiqurFbT2U-vTbW3Pai4cNk,1528
73
+ ai_edge_quantizer_nightly-0.3.0.dev20250810.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
74
+ ai_edge_quantizer_nightly-0.3.0.dev20250810.dist-info/top_level.txt,sha256=8QTfPnFXNVUhScFLaa-NWZMFWMn72M50DVPubpwWB1g,18
75
+ ai_edge_quantizer_nightly-0.3.0.dev20250810.dist-info/RECORD,,