tico 0.2.0.dev260707__tar.gz → 0.2.0.dev260708__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 (450) hide show
  1. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/PKG-INFO +1 -1
  2. tico-0.2.0.dev260708/tico/_version.py +1 -0
  3. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/vlm_eval_utils.py +1 -1
  4. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/adapters/__init__.py +2 -0
  5. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/adapters/gemma4.py +75 -6
  6. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/adapters/llama.py +2 -2
  7. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/data/llm.py +1 -1
  8. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/llm.py +1 -1
  9. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/compare_ppl.py +1 -1
  10. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/debug_quant_outputs.py +1 -1
  11. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/quantize_full_qmodel_with_gptq.py +6 -4
  12. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/quantize_with_gptq.py +1 -1
  13. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_model.py +6 -4
  14. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_text_attention.py +49 -2
  15. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder.py +3 -1
  16. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/utils.py +10 -1
  17. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/PKG-INFO +1 -1
  18. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/SOURCES.txt +1 -1
  19. tico-0.2.0.dev260707/tico/_version.py +0 -1
  20. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/LICENSE +0 -0
  21. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/README.md +0 -0
  22. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/pyproject.toml +0 -0
  23. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/setup.cfg +0 -0
  24. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/__init__.py +0 -0
  25. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/config/__init__.py +0 -0
  26. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/config/base.py +0 -0
  27. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/config/factory.py +0 -0
  28. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/config/v1.py +0 -0
  29. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/experimental/__init__.py +0 -0
  30. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/interpreter/__init__.py +0 -0
  31. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/interpreter/infer.py +0 -0
  32. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/interpreter/interpreter.py +0 -0
  33. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/__init__.py +0 -0
  34. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/cast_aten_where_arg_type.py +0 -0
  35. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/cast_clamp_mixed_type_args.py +0 -0
  36. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/cast_mixed_type_args.py +0 -0
  37. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/const_prop_pass.py +0 -0
  38. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_conv1d_to_conv2d.py +0 -0
  39. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_conv3d_to_conv2d.py +0 -0
  40. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_expand_to_slice_cat.py +0 -0
  41. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_gather_to_gather_nd.py +0 -0
  42. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_layout_op_to_reshape.py +0 -0
  43. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_matmul_to_linear.py +0 -0
  44. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_repeat_to_expand_copy.py +0 -0
  45. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_sym_size_to_circle_shape.py +0 -0
  46. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/convert_to_relu6.py +0 -0
  47. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_addmm.py +0 -0
  48. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_batch_norm.py +0 -0
  49. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_fake_quantize.py +0 -0
  50. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_fake_quantize_tensor_qparams.py +0 -0
  51. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_group_norm.py +0 -0
  52. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_grouped_conv2d.py +0 -0
  53. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/decompose_slice_scatter.py +0 -0
  54. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/eliminate_rank_round_trip_region.py +0 -0
  55. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/extract_dtype_kwargs.py +0 -0
  56. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/fill_meta_val.py +0 -0
  57. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/fuse_leading_unsqueeze_reshape.py +0 -0
  58. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/fuse_redundant_reshape_to_mean.py +0 -0
  59. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/legalize_causal_mask_value.py +0 -0
  60. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/legalize_predefined_layout_operators.py +0 -0
  61. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/lower_copy.py +0 -0
  62. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/lower_pow2_to_mul.py +0 -0
  63. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/lower_to_resize_nearest_neighbor.py +0 -0
  64. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/lower_to_slice.py +0 -0
  65. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/merge_consecutive_cat.py +0 -0
  66. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/ops.py +0 -0
  67. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_nop.py +0 -0
  68. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_assert_nodes.py +0 -0
  69. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_expand.py +0 -0
  70. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_permute.py +0 -0
  71. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_reshape.py +0 -0
  72. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_slice.py +0 -0
  73. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_redundant_to_copy.py +0 -0
  74. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/remove_unused_placeholder.py +0 -0
  75. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/restore_linear.py +0 -0
  76. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/passes/segment_index_select.py +0 -0
  77. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/pt2_to_circle.py +0 -0
  78. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/__init__.py +0 -0
  79. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/__init__.py +0 -0
  80. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/cle/__init__.py +0 -0
  81. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/cle/cle.py +0 -0
  82. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/cle/quantizer.py +0 -0
  83. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/fpi_gptq/__init__.py +0 -0
  84. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/fpi_gptq/fpi_gptq.py +0 -0
  85. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/fpi_gptq/quantizer.py +0 -0
  86. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/fpi_gptq/util.py +0 -0
  87. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/gptq/__init__.py +0 -0
  88. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/gptq/gptq.py +0 -0
  89. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/gptq/quant.py +0 -0
  90. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/gptq/quantizer.py +0 -0
  91. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/gptq/utils.py +0 -0
  92. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/qwen3_vl_gptq/__init__.py +0 -0
  93. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py +0 -0
  94. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/qwen3_vl_gptq/quantizer.py +0 -0
  95. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/qwen3_vl_gptq/utils.py +0 -0
  96. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/smoothquant/__init__.py +0 -0
  97. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/smoothquant/observer.py +0 -0
  98. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/smoothquant/quantizer.py +0 -0
  99. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/smoothquant/smooth_quant.py +0 -0
  100. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/__init__.py +0 -0
  101. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/fuse_norm_utils.py +0 -0
  102. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/hadamard_utils.py +0 -0
  103. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/quantizer.py +0 -0
  104. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/qwen3_vl_model_utils.py +0 -0
  105. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/qwen3_vl_quantizer.py +0 -0
  106. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/qwen3_vl_rotation_utils.py +0 -0
  107. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/rotation_utils.py +0 -0
  108. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/spin_llama.py +0 -0
  109. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/algorithm/spinquant/spin_qwen3_vl.py +0 -0
  110. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/__init__.py +0 -0
  111. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/base.py +0 -0
  112. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/builders.py +0 -0
  113. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/cle.py +0 -0
  114. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/fpi_gptq.py +0 -0
  115. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/gemma4_builders.py +0 -0
  116. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/gptq.py +0 -0
  117. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/llama_attention.py +0 -0
  118. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/ptq.py +0 -0
  119. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/qwen3_vl_attention.py +0 -0
  120. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/qwen3_vl_gptq.py +0 -0
  121. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/qwen3_vl_spinquant.py +0 -0
  122. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/smoothquant.py +0 -0
  123. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/specs.py +0 -0
  124. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/spinquant.py +0 -0
  125. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/config/utils.py +0 -0
  126. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/__init__.py +0 -0
  127. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/backend.py +0 -0
  128. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/evaluate.py +0 -0
  129. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/executor/__init__.py +0 -0
  130. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/executor/backend_executor.py +0 -0
  131. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/executor/circle_executor.py +0 -0
  132. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/executor/triv24_executor.py +0 -0
  133. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/hellaswag_eval_utils.py +0 -0
  134. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/llava_bench_judge_eval_utils.py +0 -0
  135. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/lmms_eval_utils.py +0 -0
  136. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/lmms_tasks/videomme_mini/utils.py +0 -0
  137. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/metric.py +0 -0
  138. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/mmlu_eval_utils.py +0 -0
  139. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/mmmu_eval_utils.py +0 -0
  140. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/optional_deps.py +0 -0
  141. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/script/llm_tasks_eval.py +0 -0
  142. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/script/mini_vqa_eval.py +0 -0
  143. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/evaluation/utils.py +0 -0
  144. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/examples/__init__.py +0 -0
  145. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/examples/configs/__init__.py +0 -0
  146. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/examples/evaluate.py +0 -0
  147. /tico-0.2.0.dev260707/tico/quantization/examples/inspect.py → /tico-0.2.0.dev260708/tico/quantization/examples/inspector.py +0 -0
  148. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/examples/quantize.py +0 -0
  149. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/__init__.py +0 -0
  150. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/fold_quant_ops.py +0 -0
  151. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/insert_quantize_on_dtype_mismatch.py +0 -0
  152. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/propagate_qparam_backward.py +0 -0
  153. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/propagate_qparam_forward.py +0 -0
  154. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/qparam_safe_const_prop.py +0 -0
  155. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/quantize_bias.py +0 -0
  156. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/passes/remove_weight_dequant_op.py +0 -0
  157. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/public_interface.py +0 -0
  158. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/quantizer.py +0 -0
  159. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/quantizer_registry.py +0 -0
  160. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/__init__.py +0 -0
  161. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/adapters/base.py +0 -0
  162. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/adapters/qwen3_vl.py +0 -0
  163. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/config.py +0 -0
  164. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/context.py +0 -0
  165. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/data/__init__.py +0 -0
  166. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/data/vlm.py +0 -0
  167. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/__init__.py +0 -0
  168. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/static_gemma4_runtime.py +0 -0
  169. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/static_llama_runtime.py +0 -0
  170. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/static_qwen3_vl_runtime.py +0 -0
  171. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/tied_embedding.py +0 -0
  172. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/trace.py +0 -0
  173. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/__init__.py +0 -0
  174. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/case.py +0 -0
  175. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/cases/__init__.py +0 -0
  176. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4.py +0 -0
  177. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/cases/llama.py +0 -0
  178. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/cases/nn.py +0 -0
  179. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/cases/qwen3_vl.py +0 -0
  180. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/registry.py +0 -0
  181. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/result.py +0 -0
  182. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/runner.py +0 -0
  183. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/debug/wrapper_smoke/utils.py +0 -0
  184. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/__init__.py +0 -0
  185. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/hellaswag.py +0 -0
  186. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/llava_bench_judge.py +0 -0
  187. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/mmlu.py +0 -0
  188. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/mmmu.py +0 -0
  189. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/video_mme.py +0 -0
  190. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/evaluation/vlm.py +0 -0
  191. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/export/__init__.py +0 -0
  192. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/export/checkpoint.py +0 -0
  193. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/export/circle.py +0 -0
  194. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/export/llama.py +0 -0
  195. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/qparams.py +0 -0
  196. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/runner.py +0 -0
  197. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/__init__.py +0 -0
  198. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/base.py +0 -0
  199. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/cle.py +0 -0
  200. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/gptq.py +0 -0
  201. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/ptq.py +0 -0
  202. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/smoothquant.py +0 -0
  203. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/stages/spinquant.py +0 -0
  204. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/recipes/utils.py +0 -0
  205. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/__init__.py +0 -0
  206. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/dtypes.py +0 -0
  207. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/__init__.py +0 -0
  208. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/evaluate_fk_llama_model.py +0 -0
  209. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/__init__.py +0 -0
  210. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_for_causal_lm.py +0 -0
  211. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_for_conditional_generation.py +0 -0
  212. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_model.py +0 -0
  213. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_multimodal_embedder.py +0 -0
  214. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_text_scaled_word_embedding.py +0 -0
  215. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_vision_model.py +0 -0
  216. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_vision_patch_embedder.py +0 -0
  217. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/gemma4/quantize_vision_pooler.py +0 -0
  218. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/__init__.py +0 -0
  219. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/quantize_attention_decode.py +0 -0
  220. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/quantize_attention_prefill.py +0 -0
  221. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_decode.py +0 -0
  222. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_prefill.py +0 -0
  223. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/llama/quantize_mlp.py +0 -0
  224. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/__init__.py +0 -0
  225. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/quantize_conv3d.py +0 -0
  226. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/quantize_conv3d_special_case.py +0 -0
  227. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/quantize_layernorm.py +0 -0
  228. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/quantize_linear.py +0 -0
  229. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/nn/quantize_tied_embedding.py +0 -0
  230. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/quantize_qwen3_vl_with_gptq.py +0 -0
  231. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/__init__.py +0 -0
  232. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_for_conditional_generation.py +0 -0
  233. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_model.py +0 -0
  234. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_text_attention.py +0 -0
  235. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_text_decoder_layer.py +0 -0
  236. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_text_mlp.py +0 -0
  237. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_text_model.py +0 -0
  238. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_attention.py +0 -0
  239. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_block.py +0 -0
  240. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_mlp.py +0 -0
  241. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_model.py +0 -0
  242. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_embed.py +0 -0
  243. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_merger.py +0 -0
  244. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/qwen/trace_qwen.py +0 -0
  245. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/examples/static_llama_layer_runtime.py +0 -0
  246. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/mode.py +0 -0
  247. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/__init__.py +0 -0
  248. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/affine_base.py +0 -0
  249. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/base.py +0 -0
  250. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/ema.py +0 -0
  251. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/identity.py +0 -0
  252. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/minmax.py +0 -0
  253. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/observers/mx.py +0 -0
  254. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/qscheme.py +0 -0
  255. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/quantizer.py +0 -0
  256. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/__init__.py +0 -0
  257. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/check_missing_qparam.py +0 -0
  258. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/introspection.py +0 -0
  259. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/metrics.py +0 -0
  260. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/reduce_utils.py +0 -0
  261. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/utils.py +0 -0
  262. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/utils/version.py +0 -0
  263. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrap_helper.py +0 -0
  264. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/__init__.py +0 -0
  265. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/__init__.py +0 -0
  266. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/decoder_export_single_step.py +0 -0
  267. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder.py +0 -0
  268. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder_layer.py +0 -0
  269. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder.py +0 -0
  270. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder_layer.py +0 -0
  271. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/fairseq/quant_mha.py +0 -0
  272. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/__init__.py +0 -0
  273. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/export_adapters.py +0 -0
  274. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_clippable_linear.py +0 -0
  275. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_for_causal_lm.py +0 -0
  276. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_for_conditional_generation.py +0 -0
  277. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_multimodal_embedder.py +0 -0
  278. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_rmsnorm.py +0 -0
  279. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_text_decoder_layer.py +0 -0
  280. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_text_mlp.py +0 -0
  281. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_text_model.py +0 -0
  282. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_text_scaled_word_embedding.py +0 -0
  283. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_attention.py +0 -0
  284. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder_layer.py +0 -0
  285. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_mlp.py +0 -0
  286. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_model.py +0 -0
  287. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_patch_embedder.py +0 -0
  288. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_pooler.py +0 -0
  289. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/__init__.py +0 -0
  290. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/export_adapters.py +0 -0
  291. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/quant_attention.py +0 -0
  292. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/quant_decoder_layer.py +0 -0
  293. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/quant_mlp.py +0 -0
  294. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/quant_model.py +0 -0
  295. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/llama/quant_model_for_causal_lm.py +0 -0
  296. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/__init__.py +0 -0
  297. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_conv3d.py +0 -0
  298. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_conv3d_decomposed.py +0 -0
  299. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_embedding.py +0 -0
  300. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_layernorm.py +0 -0
  301. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_linear.py +0 -0
  302. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/nn/quant_silu.py +0 -0
  303. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/ops/__init__.py +0 -0
  304. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/ops/quant_rmsnorm.py +0 -0
  305. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/ptq_wrapper.py +0 -0
  306. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/quant_elementwise.py +0 -0
  307. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/quant_module_base.py +0 -0
  308. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/export_adapters.py +0 -0
  309. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_for_conditional_generation.py +0 -0
  310. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_model.py +0 -0
  311. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attention.py +0 -0
  312. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_decoder_layer.py +0 -0
  313. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_mlp.py +0 -0
  314. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_model.py +0 -0
  315. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_attention.py +0 -0
  316. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_block.py +0 -0
  317. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py +0 -0
  318. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_model.py +0 -0
  319. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_embed.py +0 -0
  320. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_merger.py +0 -0
  321. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/quantization/wrapq/wrappers/registry.py +0 -0
  322. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/__init__.py +0 -0
  323. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/circle_graph.py +0 -0
  324. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/circle_mapping.py +0 -0
  325. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/circle_serializer.py +0 -0
  326. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/__init__.py +0 -0
  327. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/adapters/__init__.py +0 -0
  328. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/adapters/llama_rmsnorm.py +0 -0
  329. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/adapters/onert/__init__.py +0 -0
  330. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/adapters/onert/llama_attention.py +0 -0
  331. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/hashable_opcode.py +0 -0
  332. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/node_visitor.py +0 -0
  333. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_abs.py +0 -0
  334. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_add.py +0 -0
  335. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_alias_copy.py +0 -0
  336. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_any.py +0 -0
  337. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_arange_start_step.py +0 -0
  338. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_argmax.py +0 -0
  339. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_attention.py +0 -0
  340. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_avg_pool2d.py +0 -0
  341. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_bmm.py +0 -0
  342. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_cat.py +0 -0
  343. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_circle_gather_nd.py +0 -0
  344. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_circle_shape.py +0 -0
  345. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_clamp.py +0 -0
  346. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_clone.py +0 -0
  347. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_constant_pad_nd.py +0 -0
  348. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_conv2d.py +0 -0
  349. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_cos.py +0 -0
  350. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_cumsum.py +0 -0
  351. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_depthwise_conv2d.py +0 -0
  352. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_dequantize_per_channel.py +0 -0
  353. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_dequantize_per_tensor.py +0 -0
  354. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_div.py +0 -0
  355. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_elu.py +0 -0
  356. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_embedding.py +0 -0
  357. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_eq.py +0 -0
  358. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_exp.py +0 -0
  359. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_expand.py +0 -0
  360. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_full.py +0 -0
  361. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_full_like.py +0 -0
  362. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_ge.py +0 -0
  363. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_gelu.py +0 -0
  364. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_gt.py +0 -0
  365. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_index.py +0 -0
  366. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_index_select.py +0 -0
  367. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_instance_norm.py +0 -0
  368. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_le.py +0 -0
  369. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_leaky_relu.py +0 -0
  370. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_linear.py +0 -0
  371. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_log.py +0 -0
  372. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_log1p.py +0 -0
  373. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_logical_and.py +0 -0
  374. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_logical_not.py +0 -0
  375. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_lt.py +0 -0
  376. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_max_dim.py +0 -0
  377. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_max_pool2d_with_indices.py +0 -0
  378. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_maximum.py +0 -0
  379. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_mean.py +0 -0
  380. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_minimum.py +0 -0
  381. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_mm.py +0 -0
  382. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_mul.py +0 -0
  383. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_ne.py +0 -0
  384. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_neg.py +0 -0
  385. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_permute.py +0 -0
  386. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_pow.py +0 -0
  387. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_prelu.py +0 -0
  388. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_quantize_per_tensor.py +0 -0
  389. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_reciprocal.py +0 -0
  390. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_relu.py +0 -0
  391. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_relu6.py +0 -0
  392. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_repeat.py +0 -0
  393. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_reshape.py +0 -0
  394. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_resize_nearest_neighbor.py +0 -0
  395. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_rmsnorm.py +0 -0
  396. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_round.py +0 -0
  397. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_rsqrt.py +0 -0
  398. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_scalar_tensor.py +0 -0
  399. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_select_copy.py +0 -0
  400. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_sigmoid.py +0 -0
  401. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_sin.py +0 -0
  402. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_slice.py +0 -0
  403. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_softmax.py +0 -0
  404. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_split_with_sizes.py +0 -0
  405. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_sqrt.py +0 -0
  406. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_squeeze.py +0 -0
  407. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_sub.py +0 -0
  408. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_sum.py +0 -0
  409. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_tanh.py +0 -0
  410. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_to_copy.py +0 -0
  411. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_transpose_conv.py +0 -0
  412. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_unsqueeze.py +0 -0
  413. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_view.py +0 -0
  414. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/op_where.py +0 -0
  415. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/operators/utils.py +0 -0
  416. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/pack.py +0 -0
  417. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/serialize/quant_param.py +0 -0
  418. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/__init__.py +0 -0
  419. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/compat/__init__.py +0 -0
  420. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/compat/torch.py +0 -0
  421. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/compat/transformers.py +0 -0
  422. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/convert.py +0 -0
  423. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/define.py +0 -0
  424. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/diff_graph.py +0 -0
  425. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/dtype.py +0 -0
  426. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/errors.py +0 -0
  427. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/graph.py +0 -0
  428. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/installed_packages.py +0 -0
  429. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/logging.py +0 -0
  430. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/model.py +0 -0
  431. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/mx/__init__.py +0 -0
  432. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/mx/dtypes.py +0 -0
  433. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/mx/elemwise_ops.py +0 -0
  434. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/mx/formats.py +0 -0
  435. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/mx/mx_ops.py +0 -0
  436. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/padding.py +0 -0
  437. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/passes.py +0 -0
  438. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/pytree_utils.py +0 -0
  439. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/record_input.py +0 -0
  440. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/register_custom_op.py +0 -0
  441. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/serialize.py +0 -0
  442. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/signature.py +0 -0
  443. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/trace_decorators.py +0 -0
  444. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/utils.py +0 -0
  445. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/validate_args_kwargs.py +0 -0
  446. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico/utils/version.py +0 -0
  447. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/dependency_links.txt +0 -0
  448. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/entry_points.txt +0 -0
  449. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/requires.txt +0 -0
  450. {tico-0.2.0.dev260707 → tico-0.2.0.dev260708}/tico.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tico
3
- Version: 0.2.0.dev260707
3
+ Version: 0.2.0.dev260708
4
4
  Summary: Convert Exported Torch Module To Circle
5
5
  License: This file provides full text of licenses used in this project
6
6
 
@@ -0,0 +1 @@
1
+ __version__ = "0.2.0.dev260708"
@@ -273,7 +273,7 @@ DATASETS: dict[str, dict[str, Any]] = {
273
273
  "wikitext2": {
274
274
  "default_split": "test",
275
275
  "adapter": get_item_wikitext2,
276
- "candidates": ["wikitext"],
276
+ "candidates": ["Salesforce/wikitext"],
277
277
  "config": "wikitext-2-raw-v1",
278
278
  "is_text_only": True,
279
279
  },
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from tico.quantization.recipes.adapters.base import ModelAdapter
16
+ from tico.quantization.recipes.adapters.gemma4 import Gemma4Adapter
16
17
  from tico.quantization.recipes.adapters.llama import LlamaAdapter
17
18
  from tico.quantization.recipes.adapters.qwen3_vl import Qwen3VLAdapter
18
19
 
@@ -20,6 +21,7 @@ _ADAPTERS = {
20
21
  "llama": LlamaAdapter(),
21
22
  "qwen3_vl": Qwen3VLAdapter(),
22
23
  "qwen3-vl": Qwen3VLAdapter(),
24
+ "gemma4": Gemma4Adapter(),
23
25
  }
24
26
 
25
27
 
@@ -23,6 +23,13 @@ from tico.quantization.config.gemma4_builders import build_gemma4_e2b_ptq_config
23
23
  from tico.quantization.recipes.adapters.base import ModelAdapter
24
24
  from tico.quantization.recipes.context import RecipeContext
25
25
  from tico.quantization.recipes.data.vlm import build_vlm_calibration_inputs
26
+ from tico.quantization.recipes.evaluation.llava_bench_judge import (
27
+ evaluate_and_print_llava_bench_judge,
28
+ )
29
+ from tico.quantization.recipes.evaluation.vlm import (
30
+ evaluate_llava_bench,
31
+ print_coco_score_results,
32
+ )
26
33
  from tico.quantization.recipes.utils import (
27
34
  move_to_device,
28
35
  quant_spec_from_config,
@@ -53,7 +60,12 @@ class Gemma4Adapter(ModelAdapter):
53
60
  cache_dir = model_cfg.get("cache_dir")
54
61
  device_map = runtime_cfg.get("device_map")
55
62
  if device_map is None:
56
- device_map = "auto" if ctx.device.type != "cpu" else "cpu"
63
+ if ctx.device.type == "cpu":
64
+ device_map = "cpu"
65
+ else:
66
+ # Use specific device index instead of "auto" to avoid
67
+ # multi-GPU model split during PTQ calibration.
68
+ device_map = str(ctx.device)
57
69
 
58
70
  ctx.processor = AutoProcessor.from_pretrained(
59
71
  name,
@@ -174,11 +186,68 @@ class Gemma4Adapter(ModelAdapter):
174
186
  return convert(prepared, inplace=True)
175
187
 
176
188
  def evaluate(self, ctx: RecipeContext) -> None:
177
- """Evaluate Gemma4 E2B.
189
+ """Evaluate Gemma4 E2B via LLaVA-Bench judge and other VLM tasks."""
190
+ eval_cfg = ctx.cfg.get("evaluation", {})
191
+ if not eval_cfg.get("enabled", False):
192
+ return
193
+
194
+ max_seq_len = eval_cfg.get("max_seq_len")
195
+ n_samples = int(eval_cfg.get("n_samples", 50))
196
+
197
+ llava_bench_cfg = eval_cfg.get("llava_bench", False)
198
+ if isinstance(llava_bench_cfg, Mapping):
199
+ if llava_bench_cfg.get("enabled", False):
200
+ mode = str(llava_bench_cfg.get("mode", "judge")).lower()
201
+ if mode in {"judge", "llm_judge"}:
202
+ evaluate_and_print_llava_bench_judge(
203
+ model=ctx.model,
204
+ processor=ctx.processor,
205
+ device=str(ctx.device),
206
+ llava_cfg=llava_bench_cfg,
207
+ model_cfg=ctx.cfg.get("model", {}),
208
+ runtime_cfg=ctx.cfg.get("runtime", {}),
209
+ default_n_samples=n_samples,
210
+ default_max_seq_len=max_seq_len,
211
+ )
212
+ elif mode in {"legacy", "coco", "caption"}:
213
+ llava_results = evaluate_llava_bench(
214
+ model=ctx.model,
215
+ processor=ctx.processor,
216
+ device=str(ctx.device),
217
+ n_samples=int(llava_bench_cfg.get("n_samples", n_samples)),
218
+ max_seq_len=llava_bench_cfg.get("max_seq_len", max_seq_len),
219
+ )
220
+ print_coco_score_results(
221
+ "\n=== LLaVA Bench Legacy COCO-style Evaluation ===",
222
+ llava_results,
223
+ )
224
+ else:
225
+ raise ValueError(
226
+ "evaluation.llava_bench.mode must be one of "
227
+ "{'judge', 'llm_judge', 'legacy', 'coco', 'caption'}, "
228
+ f"got {mode!r}."
229
+ )
230
+ elif llava_bench_cfg:
231
+ print(
232
+ "[WARNING] evaluation.llava_bench=true uses the legacy "
233
+ "COCO-style CIDEr/BLEU path. Prefer the nested judge config: "
234
+ "evaluation.llava_bench.enabled=true, mode=judge."
235
+ )
236
+ llava_results = evaluate_llava_bench(
237
+ model=ctx.model,
238
+ processor=ctx.processor,
239
+ device=str(ctx.device),
240
+ n_samples=n_samples,
241
+ max_seq_len=max_seq_len,
242
+ )
243
+ print_coco_score_results("\n=== Llava Bench Evaluation ===", llava_results)
244
+
245
+ def export(self, ctx: RecipeContext) -> None:
246
+ """Export Gemma4 E2B artifacts.
178
247
 
179
- TODO: Reuse the Qwen3-VL LLaVA-Bench judge evaluator once the adapter is
180
- wired into the shared evaluation entry point.
248
+ TODO: Implement Circle export via the static runtime submodule adapters.
181
249
  """
182
- if not ctx.cfg.get("evaluation", {}).get("enabled", False):
250
+ export_cfg = ctx.cfg.get("export", {})
251
+ if not export_cfg.get("enabled", False):
183
252
  return
184
- raise NotImplementedError("Gemma4 E2B evaluation adapter is not wired yet.")
253
+ raise NotImplementedError("Gemma4 E2B export adapter is not wired yet.")
@@ -212,7 +212,7 @@ class LlamaAdapter(ModelAdapter):
212
212
  seq_len=seq_len,
213
213
  seed=int(runtime.get("seed", 42)),
214
214
  device=ctx.device,
215
- dataset_name=calib.get("dataset", "wikitext"),
215
+ dataset_name=calib.get("dataset", "Salesforce/wikitext"),
216
216
  dataset_config=calib.get("dataset_config", "wikitext-2-raw-v1"),
217
217
  split=calib.get("split", "train"),
218
218
  )
@@ -326,7 +326,7 @@ class LlamaAdapter(ModelAdapter):
326
326
  device=str(ctx.device),
327
327
  cache_dir=ctx.cfg.get("model", {}).get("cache_dir"),
328
328
  max_seq_len=max_seq_len,
329
- dataset_name=ppl_cfg.get("dataset", "wikitext"),
329
+ dataset_name=ppl_cfg.get("dataset", "Salesforce/wikitext"),
330
330
  dataset_config=ppl_cfg.get("dataset_config", "wikitext-2-raw-v1"),
331
331
  split=ppl_cfg.get("split", "test"),
332
332
  )
@@ -27,7 +27,7 @@ def build_wikitext_calibration_inputs(
27
27
  seq_len: int,
28
28
  seed: int,
29
29
  device: torch.device | str,
30
- dataset_name: str = "wikitext",
30
+ dataset_name: str = "Salesforce/wikitext",
31
31
  dataset_config: str = "wikitext-2-raw-v1",
32
32
  split: str = "train",
33
33
  ) -> list[torch.Tensor]:
@@ -27,7 +27,7 @@ def evaluate_perplexity(
27
27
  device: str,
28
28
  cache_dir: str | None,
29
29
  max_seq_len: int,
30
- dataset_name: str = "wikitext",
30
+ dataset_name: str = "Salesforce/wikitext",
31
31
  dataset_config: str = "wikitext-2-raw-v1",
32
32
  split: str = "test",
33
33
  ) -> float:
@@ -49,7 +49,7 @@ DTYPE_MAP = {
49
49
  }
50
50
 
51
51
  # Hardcoded dataset settings
52
- DATASET_NAME = "wikitext"
52
+ DATASET_NAME = "Salesforce/wikitext"
53
53
  DATASET_CONFIG = "wikitext-2-raw-v1"
54
54
  TRAIN_SPLIT = "train"
55
55
  TEST_SPLIT = "test"
@@ -65,7 +65,7 @@ DTYPE_MAP = {
65
65
  }
66
66
 
67
67
  # Hardcoded dataset settings
68
- DATASET_NAME = "wikitext"
68
+ DATASET_NAME = "Salesforce/wikitext"
69
69
  DATASET_CONFIG = "wikitext-2-raw-v1"
70
70
  TRAIN_SPLIT = "train"
71
71
 
@@ -103,7 +103,7 @@ def _weight_dtype_from_bits(bits: int) -> DType:
103
103
 
104
104
 
105
105
  # Hardcoded dataset settings
106
- DATASET_NAME = "wikitext"
106
+ DATASET_NAME = "Salesforce/wikitext"
107
107
  DATASET_CONFIG = "wikitext-2-raw-v1"
108
108
  TRAIN_SPLIT = "train"
109
109
  TEST_SPLIT = "test"
@@ -1037,13 +1037,14 @@ def get_sensitivities_info_name(model, dataset, seed, n_samples):
1037
1037
  Build a filename for stored sensitivity calibration results.
1038
1038
  """
1039
1039
  model_name = model.config.name_or_path.replace("/", "_")
1040
+ dataset_name = dataset.replace("/", "_")
1040
1041
 
1041
1042
  name = (
1042
1043
  "."
1043
1044
  + "/sensitivities_for_"
1044
1045
  + model_name
1045
1046
  + "_"
1046
- + dataset
1047
+ + dataset_name
1047
1048
  + "_"
1048
1049
  + str(n_samples)
1049
1050
  + "_"
@@ -1053,11 +1054,12 @@ def get_sensitivities_info_name(model, dataset, seed, n_samples):
1053
1054
  return name
1054
1055
 
1055
1056
 
1056
- def get_ptq_model_name(model, args):
1057
+ def get_ptq_model_name(model, dataset, args):
1057
1058
  """
1058
1059
  Build a filename for a saved PTQ checkpoint.
1059
1060
  """
1060
1061
  model_name = model.config.name_or_path.replace("/", "_")
1062
+ dataset_name = dataset.replace("/", "_")
1061
1063
 
1062
1064
  name = (
1063
1065
  f"PTQ_{model_name}_"
@@ -1393,7 +1395,7 @@ def save_requested_artifacts(q_m, tokenizer, calib_inputs, args) -> None:
1393
1395
  output_dir.mkdir(parents=True, exist_ok=True)
1394
1396
 
1395
1397
  if should_save(args, "ptq_checkpoint"):
1396
- save_path = output_dir / get_ptq_model_name(q_m.wrapped, args)
1398
+ save_path = output_dir / get_ptq_model_name(q_m.wrapped, DATASET_NAME, args)
1397
1399
  print(f"Saving PTQ checkpoint to {save_path.resolve()}")
1398
1400
  torch.save(q_m, save_path)
1399
1401
 
@@ -60,7 +60,7 @@ DTYPE_MAP = {
60
60
  }
61
61
 
62
62
  # Hardcoded dataset settings
63
- DATASET_NAME = "wikitext"
63
+ DATASET_NAME = "Salesforce/wikitext"
64
64
  DATASET_CONFIG = "wikitext-2-raw-v1"
65
65
  TRAIN_SPLIT = "train"
66
66
  TEST_SPLIT = "test"
@@ -93,10 +93,12 @@ class QuantGemma4Model(QuantModuleBase):
93
93
  qcfg=qcfg.child("embed_vision") if qcfg else None,
94
94
  fp_name=join_name(fp_name, "embed_vision"),
95
95
  )
96
- if getattr(fp_model, "audio_tower", None) is not None:
97
- raise NotImplementedError(
98
- "Gemma4 E2B skeleton does not implement audio static runtime."
99
- )
96
+ # Leave audio tower in FP (not quantized) - audio is not supported yet.
97
+ self.audio_tower = (
98
+ fp_model.audio_tower
99
+ if getattr(fp_model, "audio_tower", None) is not None
100
+ else None
101
+ )
100
102
 
101
103
  self.visual_start_idx = int(
102
104
  self.qcfg.model_args.get("vision", {}).get("visual_start_idx", 0)
@@ -20,7 +20,7 @@ import torch.nn as nn
20
20
  import torch.nn.functional as F
21
21
 
22
22
  from tico.quantization.config.ptq import PTQConfig
23
- from tico.quantization.wrapq.utils.utils import join_name
23
+ from tico.quantization.wrapq.utils.utils import get_model_arg, join_name
24
24
  from tico.quantization.wrapq.wrappers.ptq_wrapper import PTQWrapper
25
25
  from tico.quantization.wrapq.wrappers.quant_module_base import QuantModuleBase
26
26
  from tico.quantization.wrapq.wrappers.registry import try_register
@@ -75,7 +75,7 @@ class QuantGemma4TextAttention(QuantModuleBase):
75
75
  self.attention_dropout = float(
76
76
  getattr(fp_attn, "attention_dropout", 0.0) or 0.0
77
77
  )
78
- self.max_seq = int(getattr(self.config, "max_position_embeddings"))
78
+ self.max_seq = self._resolve_max_seq()
79
79
 
80
80
  self.q_proj = PTQWrapper(
81
81
  fp_attn.q_proj,
@@ -166,6 +166,53 @@ class QuantGemma4TextAttention(QuantModuleBase):
166
166
  mask.triu_(1)
167
167
  self.register_buffer("causal_mask_template", mask, persistent=False)
168
168
 
169
+ _DEFAULT_STATIC_MAX_SEQ = 2048
170
+
171
+ def _resolve_max_seq(self) -> int:
172
+ """Resolve the causal mask template capacity from config or model_args.
173
+
174
+ Resolution precedence:
175
+ 1. ``calibration.seq_len`` (from PTQ config, same as Llama/Qwen adapters)
176
+ 2. ``model_args["text"]["max_seq"]``
177
+ 3. ``model_args["max_seq"]``
178
+ 4. ``min(max_position_embeddings, 2048)``
179
+
180
+ This avoids allocating a ``(1, 1, max_position_embeddings, max_position_embeddings)``
181
+ buffer when the model supports a very large context window (e.g. 128K)
182
+ but the actual calibration/export sequence length is much smaller.
183
+ """
184
+ # Try calibration.seq_len first (same as Llama/Qwen adapters)
185
+ from tico.quantization.recipes.config import get_by_path
186
+
187
+ try:
188
+ calib_seq_len = get_by_path(self.qcfg, "calibration.seq_len")
189
+ if calib_seq_len is not None:
190
+ return int(calib_seq_len)
191
+ except (KeyError, TypeError):
192
+ pass
193
+
194
+ # Fall back to model_args
195
+ configured = get_model_arg(self.qcfg, "text", "max_seq", default=None)
196
+ if configured is None:
197
+ configured = get_model_arg(self.qcfg, "max_seq", default=None)
198
+
199
+ model_capacity = int(getattr(self.config, "max_position_embeddings"))
200
+ max_seq = (
201
+ min(model_capacity, self._DEFAULT_STATIC_MAX_SEQ)
202
+ if configured is None
203
+ else int(configured)
204
+ )
205
+ if max_seq <= 0:
206
+ raise ValueError(
207
+ f"Gemma4 attention max_seq must be positive, got {max_seq}."
208
+ )
209
+ if max_seq > model_capacity:
210
+ raise ValueError(
211
+ "Gemma4 attention max_seq exceeds max_position_embeddings: "
212
+ f"max_seq={max_seq}, model_capacity={model_capacity}."
213
+ )
214
+ return max_seq
215
+
169
216
  @staticmethod
170
217
  def _expand_rope_table(table: torch.Tensor) -> torch.Tensor:
171
218
  """Return a RoPE table shaped as ``(B, S, 1, H)`` for Gemma4 text."""
@@ -91,7 +91,9 @@ class QuantGemma4VisionEncoder(QuantModuleBase):
91
91
  attention_scaling = self.rotary_emb.attention_scaling
92
92
 
93
93
  max_pos = self.config.position_embedding_size # e.g. 10240
94
- position_indices = torch.arange(max_pos, dtype=torch.float) # [0..max_pos-1]
94
+ position_indices = torch.arange(
95
+ max_pos, dtype=torch.float, device=inv_freq.device
96
+ ) # [0..max_pos-1]
95
97
  # freq_table[pos, i] = inv_freq[i] * pos — equivalent to the matmul in original forward
96
98
  freq_table = torch.outer(
97
99
  position_indices, inv_freq
@@ -132,9 +132,18 @@ def fixed_slot_fuse(
132
132
  )
133
133
 
134
134
  visual_len = int(visual_embeds.shape[1])
135
+ # Use actual visual token count - config num_visual_tokens is a hint for
136
+ # static export, but calibration images may produce different token counts.
135
137
  expected_len = visual_len if num_visual_tokens is None else int(num_visual_tokens)
136
138
  if visual_len != expected_len:
137
- raise ValueError(f"Expected {expected_len} visual tokens, got {visual_len}.")
139
+ # Warn instead of raising error - use actual token count for flexibility
140
+ import warnings
141
+
142
+ warnings.warn(
143
+ f"Visual token count mismatch: expected {expected_len}, got {visual_len}. "
144
+ "Using actual count. If this is unexpected, check image resolution settings."
145
+ )
146
+ expected_len = visual_len
138
147
 
139
148
  end = int(visual_start_idx) + expected_len
140
149
  if visual_start_idx < 0 or end > seq_len:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tico
3
- Version: 0.2.0.dev260707
3
+ Version: 0.2.0.dev260708
4
4
  Summary: Convert Exported Torch Module To Circle
5
5
  License: This file provides full text of licenses used in this project
6
6
 
@@ -134,7 +134,7 @@ tico/quantization/evaluation/script/llm_tasks_eval.py
134
134
  tico/quantization/evaluation/script/mini_vqa_eval.py
135
135
  tico/quantization/examples/__init__.py
136
136
  tico/quantization/examples/evaluate.py
137
- tico/quantization/examples/inspect.py
137
+ tico/quantization/examples/inspector.py
138
138
  tico/quantization/examples/quantize.py
139
139
  tico/quantization/examples/configs/__init__.py
140
140
  tico/quantization/passes/__init__.py
@@ -1 +0,0 @@
1
- __version__ = "0.2.0.dev260707"
File without changes
File without changes
File without changes