tico 0.4.0.dev261024__tar.gz → 0.4.0.dev261026__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.
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/PKG-INFO +1 -1
- tico-0.4.0.dev261026/tico/_version.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/effects.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/main.py +3 -2
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/io.py +3 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/cse.py +5 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/heavy.py +7 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/transpose_region_rules.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/interpreter.py +2 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_aten_where_arg_type.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_mixed_type_args.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/const_prop_pass.py +6 -7
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/ops.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_assert_nodes.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/discrete_refinement.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/global_refinement.py +1 -2
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/joint.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/screened_refinement.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/cache.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/qdrop.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/selection.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/cle.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/quantizer.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/quantizer.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/utils.py +3 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py +176 -11
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/quantizer.py +123 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/utils.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/hadamard_utils.py +2 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/spin_llama.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/universal_gptq/quantizer.py +9 -9
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/ablation.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/outputs.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/report.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/sensitivity.py +19 -10
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/builders.py +6 -7
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_attention.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/llama_attention.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/ptq.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_attention.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_gptq.py +87 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/utils.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/hellaswag_eval_utils.py +34 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/llava_bench_judge_eval_utils.py +2 -7
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_eval_utils.py +33 -63
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/mmmu_eval_utils.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/evaluate.py +6 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/concat_qparam.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/fold_quant_ops.py +5 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/legalize_quantized_clamp.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/mx_qparam.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/propagate_qparam_forward.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/public_interface.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/base.py +3 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/gemma4.py +45 -49
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/gemma4_assistant.py +1 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/llama.py +38 -46
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/qwen3_vl.py +136 -28
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/dataset_config.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/dataset_usage.py +0 -1
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_fixtures.py +233 -0
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_static_cache.py +275 -0
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/cpu_validation.py +815 -0
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/export_regression.py +1424 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_gemma4_assistant_runtime.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_gemma4_runtime.py +5 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_qwen3_vl_runtime.py +5 -2
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/verify_llama_rope.py +101 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/__init__.py +2 -1
- tico-0.4.0.dev261026/tico/quantization/recipes/debug/wrapper_smoke/case.py +269 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4.py +88 -12
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/llama.py +200 -155
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/qwen3_vl.py +133 -151
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/runner.py +4 -2
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/utils.py +0 -1
- tico-0.4.0.dev261026/tico/quantization/recipes/evaluation/eager.py +172 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llm.py +8 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/selection.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/video_mme.py +6 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/circle.py +15 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/gemma4.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/gemma4_assistant.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/llama.py +8 -10
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/llama_bundle.py +9 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runner.py +10 -16
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runtime/llama.py +0 -1
- tico-0.4.0.dev261026/tico/quantization/recipes/sequence_length.py +94 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/gptq.py +39 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/ptq.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/evaluate_fk_llama_model.py +6 -6
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_attention_decode.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_attention_prefill.py +4 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_prefill.py +14 -9
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_conv3d.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_conv3d_special_case.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_layernorm.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_full_qmodel_with_gptq.py +13 -14
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_qwen3_vl_with_gptq.py +3 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_model.py +3 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_attention.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/static_llama_layer_runtime.py +6 -7
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/identity.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/introspection.py +16 -13
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/linear_folding.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/metrics.py +49 -15
- tico-0.4.0.dev261026/tico/quantization/wrapq/utils/static_export.py +99 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/decoder_export_single_step.py +1 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/embedding_scale_fusion.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/export_adapters.py +9 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_clippable_linear.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_for_causal_lm.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_for_conditional_generation.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_model.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_multimodal_embedder.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_rmsnorm.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_attention.py +222 -146
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_decoder_layer.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_mlp.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_model.py +127 -26
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_text_scaled_word_embedding.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_attention.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder_layer.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_mlp.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_model.py +10 -7
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_patch_embedder.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_pooler.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/static_vision_profile.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/vision_split_export.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_backbone.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_for_causal_lm.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/sparse_head.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/static_inputs.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/utils.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/export_adapters.py +31 -7
- tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/llama/position.py +91 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_attention.py +194 -176
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_decoder_layer.py +109 -88
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_model.py +76 -85
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_model_for_causal_lm.py +67 -13
- tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/llama/static_inputs.py +250 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv3d.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv3d_decomposed.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_embedding.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_layernorm.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_linear.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_silu.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_module_base.py +1 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/export_adapters.py +10 -5
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_for_conditional_generation.py +8 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_model.py +3 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attention.py +370 -159
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_decoder_layer.py +10 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_model.py +68 -65
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_attention.py +1 -3
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_model.py +6 -4
- tico-0.4.0.dev261026/tico/quantization/wrapq/wrappers/qwen_vl/static_inputs.py +98 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/vision_profile.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/registry.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_serializer.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/__init__.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/convert.py +6 -4
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/padding.py +0 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/PKG-INFO +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/SOURCES.txt +11 -0
- tico-0.4.0.dev261024/tico/_version.py +0 -1
- tico-0.4.0.dev261024/tico/quantization/recipes/debug/wrapper_smoke/case.py +0 -140
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/LICENSE +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/README.md +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/pyproject.toml +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/setup.cfg +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_buffer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_object.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/_schema.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/purity.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/structural_hash.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/analysis/tensor_contract.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/builder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/cli/__main__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/document.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/errors.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/export.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/graph.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/printer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/inspect/summary.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/mutation.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/operations/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/operations/extract.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/compact_indices.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/dead_code_elimination.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/cleanup/graph_inputs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/manager.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/_pattern_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/canonicalize/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/canonicalize/equivalent_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/custom_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/compatibility/fc_gelu_fc.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/constant_subgraph.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/elementwise.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/indexing.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/evaluators/shape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fold/profiles.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/activation.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/composite.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/linear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/requantize.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/fuse/spatial.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/legalize/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/legalize/dynamic_fully_connected.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/policy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/_layout_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/arithmetic.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/identity_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/reductions.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/transpose_region.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/optimization/simplify/views.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/presets.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/rules.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/passes/worklist.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/rewrite.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/errors.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/executor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/elementwise.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/nn.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/quantize.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/reduction.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/kernels/shape_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/program.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/runtime/quantization.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/selector.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/session.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/codec.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/dtype.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/value/tensor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/circle/verify.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/factory.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/config/v1.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/experimental/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/backends.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/interpreter/infer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/concat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/resize_bilinear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/ops/same_padding_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/cast_clamp_mixed_type_args.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_conv1d_to_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_conv3d_to_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_expand_to_slice_cat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_gather_to_gather_nd.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_layout_op_to_reshape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_matmul_to_linear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_repeat_to_expand_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_sym_size_to_circle_shape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/convert_to_relu6.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_addmm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_batch_norm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_fake_quantize.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_fake_quantize_tensor_qparams.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_group_norm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_grouped_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/decompose_slice_scatter.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/eliminate_rank_round_trip_region.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/extract_dtype_kwargs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fill_meta_val.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fuse_leading_unsqueeze_reshape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/fuse_redundant_reshape_to_mean.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/legalize_causal_mask_value.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/legalize_predefined_layout_operators.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_multi_index_to_gather_nd.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_pow2_to_mul.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_to_resize_nearest_neighbor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/lower_to_slice.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/merge_consecutive_cat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_empty_cat_inputs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_nop.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_expand.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_permute.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_reshape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_slice.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_redundant_to_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/remove_unused_placeholder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/restore_linear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/passes/segment_index_select.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/pt2_to_circle.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/joint_runner.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/rounding.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/adaround/runner.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/multistart.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/observer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/block_reconstruction/runner.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/cle/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/fpi_gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/fpi_gptq/util.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gemma4_gptq/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/gptq/quant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/observer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/smoothquant/smooth_quant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/fuse_norm_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_model_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/qwen3_vl_rotation_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/rotation_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/spinquant/spin_qwen3_vl.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/clipping.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/inputs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/metrics.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/output_quantization.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/profile.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/analysis/selector.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/cle.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/fpi_gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_assistant_builders.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_builders.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gemma4_gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/qwen3_vl_spinquant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/smoothquant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/specs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/config/spinquant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/backend.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/evaluate.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/backend_executor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/circle_executor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/executor/triv24_executor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_gemma4.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/lmms_tasks/videomme_mini/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/metric.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/mmlu_eval_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/optional_deps.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/script/llm_tasks_eval.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/script/mini_vqa_eval.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/vlm_eval_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/evaluation/vlm_generation_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/compare_side_by_side.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/configs/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/export.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/generate.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/inspector.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/examples/quantize.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/insert_quantize_on_dtype_mismatch.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/propagate_qparam_backward.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/qparam_safe_const_prop.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/quantize_bias.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/passes/remove_weight_dequant_op.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quant_stub.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/quantizer_registry.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/adapters/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/config.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/context.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/llm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/data/vlm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/static_llama_runtime.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/tied_embedding.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/token_mask.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/trace.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4_assistant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/cases/nn.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/registry.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/debug/wrapper_smoke/result.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/hellaswag.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llava_bench.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/llava_bench_judge.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/mmlu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/mmmu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/evaluation/vlm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/checkpoint.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/export/qwen3_vl.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/extensions.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/override_policies.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/qparams.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/runtime/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/cle.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/smoothquant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/stages/spinquant.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/recipes/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/control.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/dtypes.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/compare_ppl.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/debug_quant_outputs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_for_causal_lm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_for_conditional_generation.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_model.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_multimodal_embedder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_text_scaled_word_embedding.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_model.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_patch_embedder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/gemma4/quantize_vision_pooler.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_decode.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/llama/quantize_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_linear.py +1 -1
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/nn/quantize_tied_embedding.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/quantize_with_gptq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_for_conditional_generation.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_decoder_layer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_text_model.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_attention.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_block.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_model.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_embed.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_merger.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/examples/qwen/trace_qwen.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/mode.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/affine_base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/base.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/ema.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/minmax.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/mx.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/observers/percentile.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/qscheme.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/quantizer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/check_missing_qparam.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/reduce_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/utils/version.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrap_helper.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder_layer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder_layer.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/fairseq/quant_mha.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/ple_embedding_host.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/rope.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/export_adapters.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_masked_embedder.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/llama/quant_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_conv_transpose2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_maxpool2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/nn/quant_prelu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_concat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_resize_bilinear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_rmsnorm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ops/quant_same_padding_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/ptq_wrapper.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_elementwise.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/quant_stub.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_block.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_embed.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_merger.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_binary.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_graph.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/circle_mapping.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/llama_rmsnorm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/onert/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/adapters/onert/llama_attention.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/hashable_opcode.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/node_visitor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_abs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_add.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_alias_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_any.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_arange_start_step.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_argmax.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_attention.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_avg_pool2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_bitwise_and.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_bmm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_circle_gather_nd.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_circle_shape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_clamp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_clone.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_constant_pad_nd.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cos.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_cumsum.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_depthwise_conv2d.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_dequantize_per_channel.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_dequantize_per_tensor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_div.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_elu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_embedding.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_eq.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_exp.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_expand.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_full.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_full_like.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_ge.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_gelu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_gt.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_index.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_index_select.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_instance_norm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_le.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_leaky_relu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_linear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_log.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_log1p.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_logical_and.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_logical_not.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_lt.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_max_dim.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_max_pool2d_with_indices.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_maximum.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mean.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_minimum.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_mul.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_ne.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_neg.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_permute.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_pow.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_prelu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_quantize_per_tensor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_reciprocal.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_relu.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_relu6.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_repeat.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_reshape.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_resize_bilinear.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_resize_nearest_neighbor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_rmsnorm.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_round.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_rsqrt.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_scalar_tensor.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_select_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sigmoid.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sin.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_slice.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_softmax.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_split_with_sizes.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sqrt.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_squeeze.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sub.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_sum.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_tanh.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_to_copy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_transpose_conv.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_unsqueeze.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_view.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/op_where.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/operators/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/pack.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/serialize/quant_param.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/torch.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/torch_version_policy.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/compat/transformers.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/define.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/diff_graph.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/dtype.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/errors.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/graph.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/installed_packages.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/logging.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/model.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/__init__.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/dtypes.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/elemwise_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/formats.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/mx/mx_ops.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/passes.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/pytree_utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/record_input.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/register_custom_op.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/serialize.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/signature.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/trace_decorators.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/utils.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/validate_args_kwargs.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/utils/version.py +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/dependency_links.txt +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/entry_points.txt +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/requires.txt +0 -0
- {tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.4.0.dev261026"
|
|
@@ -23,7 +23,6 @@ from tico.circle._schema import circle_schema, object_api_type
|
|
|
23
23
|
from tico.circle.errors import CircleRewriteError
|
|
24
24
|
from tico.circle.graph import as_indices, as_list, CircleGraph, OPTIONAL_TENSOR_INDEX
|
|
25
25
|
|
|
26
|
-
|
|
27
26
|
DEFAULT_EFFECTFUL_BUILTIN_NAMES = (
|
|
28
27
|
"ASSIGN_VARIABLE",
|
|
29
28
|
"BIDIRECTIONAL_SEQUENCE_LSTM",
|
|
@@ -413,8 +413,9 @@ def _extract_command(args: argparse.Namespace) -> int:
|
|
|
413
413
|
def _parse_passes(
|
|
414
414
|
value: str,
|
|
415
415
|
*,
|
|
416
|
-
constant_folding_profile: ConstantFoldingProfile
|
|
417
|
-
|
|
416
|
+
constant_folding_profile: ConstantFoldingProfile | str = (
|
|
417
|
+
ConstantFoldingProfile.BASIC
|
|
418
|
+
),
|
|
418
419
|
) -> list[CirclePass]:
|
|
419
420
|
"""Create Circle pass instances from canonical comma-separated names."""
|
|
420
421
|
|
|
@@ -204,9 +204,9 @@ def write_circle_bytes(
|
|
|
204
204
|
raise TypeError(f"Expected bytes, received {type(data).__name__}.")
|
|
205
205
|
_write_destination(
|
|
206
206
|
destination,
|
|
207
|
-
lambda stream:
|
|
208
|
-
|
|
209
|
-
|
|
207
|
+
lambda stream: (
|
|
208
|
+
_write_all(stream, memoryview(data)) if data else stream.write(data)
|
|
209
|
+
),
|
|
210
210
|
atomic=atomic,
|
|
211
211
|
)
|
|
212
212
|
|
|
@@ -152,9 +152,11 @@ class CommonSubexpressionEliminationPass(CirclePass):
|
|
|
152
152
|
continue
|
|
153
153
|
outputs = tuple(as_indices(getattr(operator, "outputs", None)))
|
|
154
154
|
canonical_inputs = tuple(
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
(
|
|
156
|
+
_representative(representatives, tensor_index)
|
|
157
|
+
if tensor_index != OPTIONAL_TENSOR_INDEX
|
|
158
|
+
else tensor_index
|
|
159
|
+
)
|
|
158
160
|
for tensor_index in as_indices(
|
|
159
161
|
getattr(operator, "inputs", None)
|
|
160
162
|
)
|
|
@@ -755,10 +755,13 @@ def _input_buffer_payload(
|
|
|
755
755
|
def _parse_sparsity(
|
|
756
756
|
sparsity: Any,
|
|
757
757
|
dense_shape: Sequence[int],
|
|
758
|
-
) ->
|
|
759
|
-
tuple[
|
|
760
|
-
|
|
761
|
-
]
|
|
758
|
+
) -> (
|
|
759
|
+
tuple[
|
|
760
|
+
tuple[int, ...],
|
|
761
|
+
tuple[tuple[str, int, tuple[int, ...], tuple[int, ...]], ...],
|
|
762
|
+
]
|
|
763
|
+
| None
|
|
764
|
+
):
|
|
762
765
|
"""Parse an unblocked Circle sparsity record into traversal-level metadata."""
|
|
763
766
|
|
|
764
767
|
rank = len(dense_shape)
|
|
@@ -25,7 +25,6 @@ from tico.circle.passes.optimization.simplify._layout_utils import (
|
|
|
25
25
|
_get_const_data,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
|
-
|
|
29
28
|
_ADD_BUILTIN_CODE = _builtin_operator_value("ADD")
|
|
30
29
|
_ADD_N_BUILTIN_CODE = _builtin_operator_value("ADD_N")
|
|
31
30
|
_CONCATENATION_BUILTIN_CODE = _builtin_operator_value("CONCATENATION")
|
|
@@ -56,8 +56,7 @@ class Interpreter:
|
|
|
56
56
|
) from error
|
|
57
57
|
|
|
58
58
|
self.ffi = FFI()
|
|
59
|
-
self.ffi.cdef(
|
|
60
|
-
"""
|
|
59
|
+
self.ffi.cdef("""
|
|
61
60
|
typedef struct InterpreterWrapper InterpreterWrapper;
|
|
62
61
|
|
|
63
62
|
const char *get_last_error(void);
|
|
@@ -67,8 +66,7 @@ class Interpreter:
|
|
|
67
66
|
void Interpreter_interpret(InterpreterWrapper *intp);
|
|
68
67
|
void Interpreter_writeInputTensor(InterpreterWrapper *intp, const int input_idx, const void *data, size_t input_size);
|
|
69
68
|
void Interpreter_readOutputTensor(InterpreterWrapper *intp, const int output_idx, void *output, size_t output_size);
|
|
70
|
-
"""
|
|
71
|
-
)
|
|
69
|
+
""")
|
|
72
70
|
self.C = self.ffi.dlopen(str(self.LIB_PATH))
|
|
73
71
|
|
|
74
72
|
# Initialize interpreter
|
|
@@ -31,7 +31,6 @@ from tico.utils.passes import PassBase, PassResult
|
|
|
31
31
|
from tico.utils.trace_decorators import trace_graph_diff_on_pass
|
|
32
32
|
from tico.utils.utils import is_target_node, set_new_meta_val
|
|
33
33
|
|
|
34
|
-
|
|
35
34
|
ops_to_promote = {
|
|
36
35
|
torch.ops.aten.add.Tensor: ELEMENTWISE_TYPE_PROMOTION_KIND.DEFAULT,
|
|
37
36
|
torch.ops.aten.div.Tensor: ELEMENTWISE_TYPE_PROMOTION_KIND.DEFAULT,
|
|
@@ -48,7 +48,6 @@ from tico.utils.trace_decorators import (
|
|
|
48
48
|
)
|
|
49
49
|
from tico.utils.utils import get_fake_mode
|
|
50
50
|
|
|
51
|
-
|
|
52
51
|
_MISSING = object()
|
|
53
52
|
|
|
54
53
|
TensorStorageIdentityKey = tuple[
|
|
@@ -590,12 +589,12 @@ class ConstPropPass(PassBase):
|
|
|
590
589
|
graph: torch.fx.Graph = graph_module.graph
|
|
591
590
|
|
|
592
591
|
# [1], [2]
|
|
593
|
-
const_node_to_tensor: OrderedDict[
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
592
|
+
const_node_to_tensor: OrderedDict[torch.fx.Node, torch.Tensor] = (
|
|
593
|
+
propagate_constants(
|
|
594
|
+
exported_program,
|
|
595
|
+
fold_filter=self._fold_filter,
|
|
596
|
+
folded_node_callback=self._folded_node_callback,
|
|
597
|
+
)
|
|
599
598
|
)
|
|
600
599
|
# [3]
|
|
601
600
|
placeholders = create_constant_placeholder(
|
|
@@ -19,7 +19,6 @@ from tico.utils.passes import PassBase, PassResult
|
|
|
19
19
|
from tico.utils.trace_decorators import trace_graph_diff_on_pass
|
|
20
20
|
from tico.utils.utils import is_target_node
|
|
21
21
|
|
|
22
|
-
|
|
23
22
|
assert_node_targets = [
|
|
24
23
|
torch.ops.aten._assert_scalar.default,
|
|
25
24
|
torch.ops.aten._assert_tensor_metadata.default,
|
|
@@ -56,7 +56,6 @@ from tico.quantization.wrapq.control import (
|
|
|
56
56
|
from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
|
|
57
57
|
from tico.quantization.wrapq.observers.base import ObserverBase
|
|
58
58
|
|
|
59
|
-
|
|
60
59
|
MetricsEvaluator = Callable[[], OutputMetrics]
|
|
61
60
|
ProgressCallback = Callable[["DiscreteCodeRoundResult"], None]
|
|
62
61
|
|
|
@@ -47,7 +47,6 @@ from tico.quantization.wrapq.control import (
|
|
|
47
47
|
from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
|
|
48
48
|
from tico.quantization.wrapq.observers.base import ObserverBase
|
|
49
49
|
|
|
50
|
-
|
|
51
50
|
MetricsEvaluator = Callable[[], OutputMetrics]
|
|
52
51
|
ProgressCallback = Callable[["GlobalWeightRefinementCheckpoint"], None]
|
|
53
52
|
|
|
@@ -1086,7 +1085,7 @@ class GlobalWeightRefinementCheckpoint:
|
|
|
1086
1085
|
train_checkpoint_anchor_loss: float | None = None
|
|
1087
1086
|
checkpoint_anchor_weight: float | None = None
|
|
1088
1087
|
alpha_absolute_histogram: GlobalRefinementTensorHistogram | None = None
|
|
1089
|
-
alpha_gradient_absolute_histogram:
|
|
1088
|
+
alpha_gradient_absolute_histogram: GlobalRefinementTensorHistogram | None = None
|
|
1090
1089
|
flip_budget_statistics: GlobalRefinementFlipBudgetStatistics | None = None
|
|
1091
1090
|
|
|
1092
1091
|
def to_dict(self) -> dict[str, object]:
|
|
@@ -32,7 +32,6 @@ from tico.quantization.wrapq.control import (
|
|
|
32
32
|
from tico.quantization.wrapq.observers.affine_base import AffineObserverBase
|
|
33
33
|
from tico.quantization.wrapq.observers.base import ObserverBase
|
|
34
34
|
|
|
35
|
-
|
|
36
35
|
_SUPPORTED_FAMILIES = frozenset({"regular_conv", "depthwise_conv"})
|
|
37
36
|
|
|
38
37
|
|
|
@@ -51,7 +51,6 @@ from tico.quantization.algorithm.block_reconstruction.selection import (
|
|
|
51
51
|
from tico.quantization.analysis import OutputAdapter
|
|
52
52
|
from tico.quantization.wrapq.control import FakeQuantState
|
|
53
53
|
|
|
54
|
-
|
|
55
54
|
MetricsEvaluator = Callable[[], OutputMetrics]
|
|
56
55
|
ProgressCallback = Callable[["ScreenedCodeRoundResult"], None]
|
|
57
56
|
|
|
@@ -119,10 +119,9 @@ def gather_single_batch_from_list(data_list, idx):
|
|
|
119
119
|
|
|
120
120
|
|
|
121
121
|
def get_numerical_padding(
|
|
122
|
-
layer:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| torch.nn.ConvTranspose2d,
|
|
122
|
+
layer: (
|
|
123
|
+
torch.nn.Conv1d | torch.nn.Conv2d | torch.nn.Conv3d | torch.nn.ConvTranspose2d
|
|
124
|
+
),
|
|
126
125
|
) -> int | tuple[int, ...]:
|
|
127
126
|
padding: str | int | tuple[int, ...] = layer.padding
|
|
128
127
|
if isinstance(padding, str):
|
{tico-0.4.0.dev261024 → tico-0.4.0.dev261026}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py
RENAMED
|
@@ -320,6 +320,8 @@ class GPTQ:
|
|
|
320
320
|
dtype=self.hessian_dtype,
|
|
321
321
|
)
|
|
322
322
|
self.nsamples = 0
|
|
323
|
+
self.effective_observation_count = 0.0
|
|
324
|
+
self.percdamp_used: Optional[float] = None
|
|
323
325
|
self.quantizer: Quantizer = Quantizer()
|
|
324
326
|
|
|
325
327
|
# GPTQv2: for tracking FP vs quantized input difference
|
|
@@ -407,6 +409,9 @@ class GPTQ:
|
|
|
407
409
|
elif isinstance(self.layer, nn.Conv3d):
|
|
408
410
|
inp = _conv3d_input_to_unfolded(self.layer, inp)
|
|
409
411
|
|
|
412
|
+
observations = int(inp.shape[1])
|
|
413
|
+
self.effective_observation_count += float(observations)
|
|
414
|
+
|
|
410
415
|
# GPTQv2: Apply the same reshaping to native_inp
|
|
411
416
|
native_inp = None
|
|
412
417
|
if native_inp_raw is not None:
|
|
@@ -444,9 +449,11 @@ class GPTQ:
|
|
|
444
449
|
dilation=(1, self.layer.dilation[0]),
|
|
445
450
|
padding=(
|
|
446
451
|
0,
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
452
|
+
(
|
|
453
|
+
0
|
|
454
|
+
if self.layer.padding == "valid"
|
|
455
|
+
else int(self.layer.padding[0])
|
|
456
|
+
),
|
|
450
457
|
),
|
|
451
458
|
stride=(1, self.layer.stride[0]),
|
|
452
459
|
)
|
|
@@ -502,11 +509,141 @@ class GPTQ:
|
|
|
502
509
|
del native_inp_raw, native_inp
|
|
503
510
|
native_inp_raw = native_inp = None
|
|
504
511
|
|
|
512
|
+
def _validate_hinv(
|
|
513
|
+
self,
|
|
514
|
+
hinv: torch.Tensor,
|
|
515
|
+
percdamp: float,
|
|
516
|
+
instability_ratio: float = 1e8,
|
|
517
|
+
) -> None:
|
|
518
|
+
"""
|
|
519
|
+
Validate the inverse-Hessian Cholesky factor used by GPTQ updates.
|
|
520
|
+
"""
|
|
521
|
+
if not torch.isfinite(hinv).all():
|
|
522
|
+
raise RuntimeError(
|
|
523
|
+
"GPTQ Hessian inverse Cholesky produced non-finite values "
|
|
524
|
+
f"with percdamp={percdamp}."
|
|
525
|
+
)
|
|
526
|
+
|
|
527
|
+
diag = torch.diag(hinv)
|
|
528
|
+
if not torch.isfinite(diag).all() or torch.any(diag <= 0):
|
|
529
|
+
raise RuntimeError(
|
|
530
|
+
"GPTQ Hessian inverse Cholesky has an invalid diagonal "
|
|
531
|
+
f"with percdamp={percdamp}."
|
|
532
|
+
)
|
|
533
|
+
|
|
534
|
+
median_diag = diag.abs().median().clamp_min(torch.finfo(hinv.dtype).tiny)
|
|
535
|
+
max_abs = hinv.abs().max()
|
|
536
|
+
if max_abs / median_diag > instability_ratio:
|
|
537
|
+
raise RuntimeError(
|
|
538
|
+
"GPTQ Hessian inverse Cholesky appears numerically unstable: "
|
|
539
|
+
f"max_abs={max_abs.item():.4e}, "
|
|
540
|
+
f"median_diag={median_diag.item():.4e}, "
|
|
541
|
+
f"percdamp={percdamp}."
|
|
542
|
+
)
|
|
543
|
+
|
|
544
|
+
def _damping_precheck(
|
|
545
|
+
self, h: torch.Tensor, percdamp: float
|
|
546
|
+
) -> tuple[torch.Tensor, torch.Tensor]:
|
|
547
|
+
"""Validate damping inputs; return the diagonal index and its mean."""
|
|
548
|
+
if percdamp <= 0:
|
|
549
|
+
raise ValueError(f"percdamp must be positive. got {percdamp}")
|
|
550
|
+
diag = torch.arange(self.columns, device=self.dev)
|
|
551
|
+
diag_mean = torch.mean(torch.diag(h))
|
|
552
|
+
if not torch.isfinite(diag_mean) or diag_mean <= 0:
|
|
553
|
+
raise RuntimeError(
|
|
554
|
+
"GPTQ Hessian has a non-positive or non-finite diagonal mean "
|
|
555
|
+
f"before damping: {diag_mean.item()}."
|
|
556
|
+
)
|
|
557
|
+
return diag, diag_mean
|
|
558
|
+
|
|
559
|
+
def _factorize_hessian_inverse_once(
|
|
560
|
+
self,
|
|
561
|
+
h: torch.Tensor,
|
|
562
|
+
diag: torch.Tensor,
|
|
563
|
+
diag_mean: torch.Tensor,
|
|
564
|
+
percdamp: float,
|
|
565
|
+
) -> torch.Tensor:
|
|
566
|
+
"""Run one attempt; keep its temporary tensors in this frame only."""
|
|
567
|
+
h_try = h.clone()
|
|
568
|
+
h_try[diag, diag] += percdamp * diag_mean
|
|
569
|
+
chol = torch.linalg.cholesky(h_try)
|
|
570
|
+
del h_try
|
|
571
|
+
hinv = torch.cholesky_inverse(chol)
|
|
572
|
+
del chol
|
|
573
|
+
hinv = torch.linalg.cholesky(hinv, upper=True)
|
|
574
|
+
self._validate_hinv(hinv, percdamp)
|
|
575
|
+
return hinv
|
|
576
|
+
|
|
577
|
+
def _factorize_hessian_inverse(
|
|
578
|
+
self,
|
|
579
|
+
h: torch.Tensor,
|
|
580
|
+
percdamp: float,
|
|
581
|
+
percdamp_max: Optional[float] = None,
|
|
582
|
+
retry_factor: float = 2.5,
|
|
583
|
+
max_retries: int = 5,
|
|
584
|
+
) -> torch.Tensor:
|
|
585
|
+
"""Retry auto-mode factorization without retaining failed attempts."""
|
|
586
|
+
if percdamp_max is None:
|
|
587
|
+
raise ValueError(
|
|
588
|
+
"percdamp_max is required for the retry path; the static "
|
|
589
|
+
"single-attempt path is inlined in fasterquant."
|
|
590
|
+
)
|
|
591
|
+
if percdamp_max < percdamp:
|
|
592
|
+
raise ValueError(
|
|
593
|
+
"percdamp_max must be >= percdamp. " f"got {percdamp_max} < {percdamp}"
|
|
594
|
+
)
|
|
595
|
+
|
|
596
|
+
diag, diag_mean = self._damping_precheck(h, percdamp)
|
|
597
|
+
|
|
598
|
+
cur_percdamp = float(percdamp)
|
|
599
|
+
ceiling = float(percdamp_max)
|
|
600
|
+
attempts = 0
|
|
601
|
+
last_error_text = ""
|
|
602
|
+
|
|
603
|
+
while True:
|
|
604
|
+
attempts += 1
|
|
605
|
+
try:
|
|
606
|
+
hinv = self._factorize_hessian_inverse_once(
|
|
607
|
+
h, diag, diag_mean, cur_percdamp
|
|
608
|
+
)
|
|
609
|
+
except torch.OutOfMemoryError:
|
|
610
|
+
# Damping cannot fix an OOM. Preserve the original exception.
|
|
611
|
+
raise
|
|
612
|
+
except RuntimeError as exc:
|
|
613
|
+
# Keep diagnostic text only, not the exception or traceback.
|
|
614
|
+
# Python clears `exc` when this handler exits, allowing the
|
|
615
|
+
# failed helper frame and its temporaries to be released
|
|
616
|
+
# before the next attempt allocates anything.
|
|
617
|
+
last_error_text = f"{type(exc).__name__}: {exc}"
|
|
618
|
+
else:
|
|
619
|
+
self.percdamp_used = cur_percdamp
|
|
620
|
+
return hinv
|
|
621
|
+
|
|
622
|
+
# Keep the existing escalation policy and final ceiling attempt.
|
|
623
|
+
if cur_percdamp >= ceiling:
|
|
624
|
+
break
|
|
625
|
+
if attempts >= max_retries:
|
|
626
|
+
cur_percdamp = ceiling
|
|
627
|
+
else:
|
|
628
|
+
cur_percdamp = min(ceiling, cur_percdamp * retry_factor)
|
|
629
|
+
|
|
630
|
+
raise RuntimeError(
|
|
631
|
+
"GPTQ Hessian factorization failed or became numerically unstable "
|
|
632
|
+
f"after {attempts} attempt(s). "
|
|
633
|
+
f"start_percdamp={percdamp}, last_percdamp={cur_percdamp}, "
|
|
634
|
+
f"retry_ceiling={percdamp_max}. "
|
|
635
|
+
"The final attempt used the configured retry ceiling. "
|
|
636
|
+
"Increase percdamp or raise the retry ceiling "
|
|
637
|
+
"(auto_percdamp_retry_max). "
|
|
638
|
+
f"Last error: {last_error_text}"
|
|
639
|
+
) from None
|
|
640
|
+
|
|
505
641
|
@torch.no_grad()
|
|
506
642
|
def fasterquant(
|
|
507
643
|
self,
|
|
508
644
|
blocksize: int = 128,
|
|
509
645
|
percdamp: float = 0.01,
|
|
646
|
+
percdamp_max: Optional[float] = None,
|
|
510
647
|
groupsize: int = -1,
|
|
511
648
|
actorder: bool = False,
|
|
512
649
|
static_groups: bool = False,
|
|
@@ -517,7 +654,12 @@ class GPTQ:
|
|
|
517
654
|
|
|
518
655
|
Args:
|
|
519
656
|
blocksize: Number of columns processed at a time.
|
|
520
|
-
percdamp:
|
|
657
|
+
percdamp: Starting damping factor relative to the average Hessian
|
|
658
|
+
diagonal.
|
|
659
|
+
percdamp_max: Optional retry ceiling. If factorization fails or
|
|
660
|
+
the inverse looks unstable, damping is increased geometrically
|
|
661
|
+
up to this value. This is a retry ceiling, independent of any
|
|
662
|
+
clamp the caller applied to ``percdamp``.
|
|
521
663
|
groupsize: Group size for grouped quantization. -1 disables grouping.
|
|
522
664
|
actorder: Whether to reorder columns by Hessian diagonal magnitude.
|
|
523
665
|
static_groups: Whether to precompute group quantizers.
|
|
@@ -587,13 +729,36 @@ class GPTQ:
|
|
|
587
729
|
losses = torch.zeros_like(w)
|
|
588
730
|
q_all = torch.zeros_like(w)
|
|
589
731
|
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
732
|
+
if percdamp_max is None:
|
|
733
|
+
# Static single attempt: in-place factorization.
|
|
734
|
+
diag, diag_mean = self._damping_precheck(h, percdamp)
|
|
735
|
+
try:
|
|
736
|
+
h[diag, diag] += percdamp * diag_mean
|
|
737
|
+
chol = torch.linalg.cholesky(h)
|
|
738
|
+
del h # release the damped Hessian before building the inverse
|
|
739
|
+
hinv = torch.cholesky_inverse(chol)
|
|
740
|
+
del chol # release the lower factor before the final Cholesky
|
|
741
|
+
hinv = torch.linalg.cholesky(hinv, upper=True)
|
|
742
|
+
self._validate_hinv(hinv, percdamp)
|
|
743
|
+
self.percdamp_used = float(percdamp)
|
|
744
|
+
except torch.OutOfMemoryError:
|
|
745
|
+
raise
|
|
746
|
+
except RuntimeError as exc:
|
|
747
|
+
raise RuntimeError(
|
|
748
|
+
"GPTQ Hessian factorization failed or became numerically "
|
|
749
|
+
f"unstable after 1 attempt(s). start_percdamp={percdamp}, "
|
|
750
|
+
f"last_percdamp={percdamp}, retry_ceiling=None. "
|
|
751
|
+
"No retry ceiling was provided (static percdamp_mode). "
|
|
752
|
+
"Increase percdamp or enable percdamp_mode='auto' with "
|
|
753
|
+
"auto_percdamp_retry_max."
|
|
754
|
+
) from exc
|
|
755
|
+
else:
|
|
756
|
+
hinv = self._factorize_hessian_inverse(
|
|
757
|
+
h,
|
|
758
|
+
percdamp=percdamp,
|
|
759
|
+
percdamp_max=percdamp_max,
|
|
760
|
+
)
|
|
761
|
+
del h # the undamped original is no longer needed after retries
|
|
597
762
|
|
|
598
763
|
# GPTQv2: Compute P correction matrix from dXXT
|
|
599
764
|
P = None
|