tico 0.3.0.dev261013__tar.gz → 0.3.0.dev261014__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.3.0.dev261013 → tico-0.3.0.dev261014}/PKG-INFO +1 -1
- tico-0.3.0.dev261014/tico/_version.py +1 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/universal_gptq/quantizer.py +51 -19
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/builders.py +27 -4
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/specs.py +33 -1
- tico-0.3.0.dev261014/tico/quantization/evaluation/mmmu_eval_utils.py +1010 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/vlm_eval_utils.py +52 -20
- tico-0.3.0.dev261014/tico/quantization/evaluation/vlm_generation_utils.py +163 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/compare_side_by_side.py +4 -104
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/__init__.py +78 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/base.py +24 -1
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/gemma4.py +84 -45
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/llama.py +22 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/qwen3_vl.py +99 -45
- tico-0.3.0.dev261014/tico/quantization/recipes/debug/trace.py +316 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/mmmu.py +28 -2
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/vlm.py +77 -1
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/override_policies.py +42 -139
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/runner.py +6 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/ptq.py +1 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/utils.py +41 -3
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/introspection.py +6 -3
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/quant_attention.py +17 -4
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_for_conditional_generation.py +27 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/PKG-INFO +1 -1
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/SOURCES.txt +1 -0
- tico-0.3.0.dev261013/tico/_version.py +0 -1
- tico-0.3.0.dev261013/tico/quantization/evaluation/mmmu_eval_utils.py +0 -530
- tico-0.3.0.dev261013/tico/quantization/recipes/debug/trace.py +0 -185
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/LICENSE +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/README.md +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/pyproject.toml +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/setup.cfg +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/_buffer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/_object.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/_schema.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/analysis/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/analysis/effects.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/analysis/purity.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/analysis/structural_hash.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/analysis/tensor_contract.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/builder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/cli/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/cli/__main__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/cli/main.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/document.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/errors.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/export.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/graph.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/inspect/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/inspect/printer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/inspect/summary.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/io.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/mutation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/operations/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/operations/extract.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/cleanup/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/cleanup/compact_indices.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/cleanup/dead_code_elimination.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/cleanup/graph_inputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/manager.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/_pattern_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/canonicalize/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/canonicalize/equivalent_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/compatibility/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/compatibility/custom_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/compatibility/fc_gelu_fc.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/cse.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/constant_subgraph.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/elementwise.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/heavy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/indexing.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/evaluators/shape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fold/profiles.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/activation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/composite.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/requantize.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/fuse/spatial.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/legalize/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/legalize/dynamic_fully_connected.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/policy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/_layout_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/arithmetic.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/identity_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/reductions.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/transpose_region.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/transpose_region_rules.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/optimization/simplify/views.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/presets.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/rules.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/passes/worklist.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/rewrite.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/errors.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/executor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/elementwise.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/nn.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/quantize.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/reduction.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/kernels/shape_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/program.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/runtime/quantization.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/selector.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/session.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/value/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/value/codec.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/value/dtype.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/value/tensor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/circle/verify.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/config/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/config/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/config/factory.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/config/v1.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/experimental/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/interpreter/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/interpreter/backends.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/interpreter/infer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/interpreter/interpreter.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/ops/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/ops/concat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/ops/resize_bilinear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/ops/same_padding_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/cast_aten_where_arg_type.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/cast_clamp_mixed_type_args.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/cast_mixed_type_args.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/const_prop_pass.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_conv1d_to_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_conv3d_to_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_expand_to_slice_cat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_gather_to_gather_nd.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_layout_op_to_reshape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_matmul_to_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_repeat_to_expand_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_sym_size_to_circle_shape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/convert_to_relu6.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_addmm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_batch_norm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_fake_quantize.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_fake_quantize_tensor_qparams.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_group_norm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_grouped_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/decompose_slice_scatter.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/eliminate_rank_round_trip_region.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/extract_dtype_kwargs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/fill_meta_val.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/fuse_leading_unsqueeze_reshape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/fuse_redundant_reshape_to_mean.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/legalize_causal_mask_value.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/legalize_predefined_layout_operators.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/lower_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/lower_multi_index_to_gather_nd.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/lower_pow2_to_mul.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/lower_to_resize_nearest_neighbor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/lower_to_slice.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/merge_consecutive_cat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_empty_cat_inputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_nop.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_assert_nodes.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_expand.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_permute.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_reshape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_slice.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_redundant_to_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/remove_unused_placeholder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/restore_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/passes/segment_index_select.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/pt2_to_circle.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/discrete_refinement.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/global_refinement.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/joint.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/joint_runner.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/rounding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/runner.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/adaround/screened_refinement.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/cache.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/multistart.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/observer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/qdrop.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/runner.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/block_reconstruction/selection.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/cle/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/cle/cle.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/cle/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/fpi_gptq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/fpi_gptq/fpi_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/fpi_gptq/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/fpi_gptq/util.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gemma4_gptq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gemma4_gptq/gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gemma4_gptq/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gemma4_gptq/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gptq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gptq/gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gptq/quant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gptq/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/gptq/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/qwen3_vl_gptq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/qwen3_vl_gptq/gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/qwen3_vl_gptq/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/qwen3_vl_gptq/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/smoothquant/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/smoothquant/observer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/smoothquant/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/smoothquant/smooth_quant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/fuse_norm_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/hadamard_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/qwen3_vl_model_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/qwen3_vl_quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/qwen3_vl_rotation_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/rotation_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/spin_llama.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/algorithm/spinquant/spin_qwen3_vl.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/ablation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/clipping.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/inputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/metrics.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/output_quantization.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/outputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/profile.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/report.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/selector.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/analysis/sensitivity.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/cle.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/fpi_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/gemma4_assistant_builders.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/gemma4_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/gemma4_builders.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/gemma4_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/llama_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/ptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/qwen3_vl_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/qwen3_vl_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/qwen3_vl_spinquant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/smoothquant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/spinquant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/config/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/backend.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/evaluate.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/executor/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/executor/backend_executor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/executor/circle_executor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/executor/triv24_executor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/hellaswag_eval_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/llava_bench_judge_eval_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/lmms_eval_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/lmms_gemma4.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/lmms_tasks/videomme_mini/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/metric.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/mmlu_eval_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/optional_deps.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/script/llm_tasks_eval.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/script/mini_vqa_eval.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/evaluation/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/configs/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/evaluate.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/export.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/inspector.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/examples/quantize.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/concat_qparam.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/fold_quant_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/insert_quantize_on_dtype_mismatch.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/legalize_quantized_clamp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/propagate_qparam_backward.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/propagate_qparam_forward.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/qparam_safe_const_prop.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/quantize_bias.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/passes/remove_weight_dequant_op.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/public_interface.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/quant_stub.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/quantizer_registry.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/adapters/gemma4_assistant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/config.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/context.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/data/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/data/dataset_config.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/data/dataset_usage.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/data/llm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/data/vlm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/static_gemma4_assistant_runtime.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/static_gemma4_runtime.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/static_llama_runtime.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/static_qwen3_vl_runtime.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/tied_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/case.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/gemma4_assistant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/llama.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/nn.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/cases/qwen3_vl.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/registry.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/result.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/runner.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/debug/wrapper_smoke/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/hellaswag.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/llava_bench.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/llava_bench_judge.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/llm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/mmlu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/selection.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/evaluation/video_mme.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/checkpoint.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/circle.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/gemma4.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/gemma4_assistant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/llama.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/export/qwen3_vl.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/extensions.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/qparams.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/cle.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/smoothquant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/recipes/stages/spinquant.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/control.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/dtypes.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/compare_ppl.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/debug_quant_outputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/evaluate_fk_llama_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_for_causal_lm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_for_conditional_generation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_multimodal_embedder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_text_scaled_word_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_vision_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_vision_patch_embedder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/gemma4/quantize_vision_pooler.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/quantize_attention_decode.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/quantize_attention_prefill.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_decode.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/quantize_decoder_layer_prefill.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/llama/quantize_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/quantize_conv3d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/quantize_conv3d_special_case.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/quantize_layernorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/quantize_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/nn/quantize_tied_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/quantize_full_qmodel_with_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/quantize_qwen3_vl_with_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/quantize_with_gptq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_for_conditional_generation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_text_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_text_decoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_text_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_text_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_block.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_embed.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/quantize_vision_patch_merger.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/qwen/trace_qwen.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/examples/static_llama_layer_runtime.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/mode.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/affine_base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/ema.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/identity.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/minmax.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/mx.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/observers/percentile.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/qscheme.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/quantizer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/check_missing_qparam.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/linear_folding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/metrics.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/reduce_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/utils/version.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrap_helper.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/decoder_export_single_step.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/quant_decoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/quant_encoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/fairseq/quant_mha.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/embedding_scale_fusion.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/export_adapters.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/ple_embedding_host.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_clippable_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_for_causal_lm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_for_conditional_generation.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_multimodal_embedder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_rmsnorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_text_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_text_decoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_text_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_text_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_text_scaled_word_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_encoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_patch_embedder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/quant_vision_pooler.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/rope.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/static_vision_profile.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4/vision_split_export.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/export_adapters.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_backbone.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_for_causal_lm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/quant_masked_embedder.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/sparse_head.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/static_inputs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/gemma4_assistant/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/export_adapters.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/quant_decoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/quant_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/quant_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/llama/quant_model_for_causal_lm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_conv3d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_conv3d_decomposed.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_conv_transpose2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_layernorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_maxpool2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_prelu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/nn/quant_silu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ops/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ops/quant_concat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ops/quant_resize_bilinear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ops/quant_rmsnorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ops/quant_same_padding_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/ptq_wrapper.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/quant_elementwise.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/quant_module_base.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/quant_stub.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/export_adapters.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_decoder_layer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_text_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_block.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_mlp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_embed.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/quant_vision_patch_merger.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/qwen_vl/vision_profile.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/quantization/wrapq/wrappers/registry.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/circle_binary.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/circle_graph.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/circle_mapping.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/circle_serializer.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/adapters/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/adapters/llama_rmsnorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/adapters/onert/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/adapters/onert/llama_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/hashable_opcode.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/node_visitor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_abs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_add.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_alias_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_any.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_arange_start_step.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_argmax.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_attention.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_avg_pool2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_bitwise_and.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_bmm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_cat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_circle_gather_nd.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_circle_shape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_clamp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_clone.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_constant_pad_nd.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_cos.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_cumsum.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_depthwise_conv2d.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_dequantize_per_channel.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_dequantize_per_tensor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_div.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_elu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_embedding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_eq.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_exp.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_expand.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_full.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_full_like.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_ge.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_gelu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_gt.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_index.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_index_select.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_instance_norm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_le.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_leaky_relu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_linear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_log.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_log1p.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_logical_and.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_logical_not.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_lt.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_max_dim.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_max_pool2d_with_indices.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_maximum.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_mean.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_minimum.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_mm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_mul.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_ne.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_neg.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_permute.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_pow.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_prelu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_quantize_per_tensor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_reciprocal.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_relu.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_relu6.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_repeat.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_reshape.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_resize_bilinear.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_resize_nearest_neighbor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_rmsnorm.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_round.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_rsqrt.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_scalar_tensor.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_select_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_sigmoid.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_sin.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_slice.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_softmax.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_split_with_sizes.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_sqrt.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_squeeze.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_sub.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_sum.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_tanh.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_to_copy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_transpose_conv.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_unsqueeze.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_view.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/op_where.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/operators/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/pack.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/serialize/quant_param.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/compat/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/compat/torch.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/compat/torch_version_policy.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/compat/transformers.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/convert.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/define.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/diff_graph.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/dtype.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/errors.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/graph.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/installed_packages.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/logging.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/model.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/mx/__init__.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/mx/dtypes.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/mx/elemwise_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/mx/formats.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/mx/mx_ops.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/padding.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/passes.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/pytree_utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/record_input.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/register_custom_op.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/serialize.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/signature.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/trace_decorators.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/utils.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/validate_args_kwargs.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico/utils/version.py +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/dependency_links.txt +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/entry_points.txt +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/requires.txt +0 -0
- {tico-0.3.0.dev261013 → tico-0.3.0.dev261014}/tico.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.0.dev261014"
|
|
@@ -58,7 +58,6 @@ from tico.quantization.quantizer_registry import register_quantizer
|
|
|
58
58
|
from tico.utils.utils import move_to_device, print_gpu_memory, Stack
|
|
59
59
|
from tqdm.auto import tqdm
|
|
60
60
|
|
|
61
|
-
|
|
62
61
|
__all__ = [
|
|
63
62
|
"GPTQProtocol",
|
|
64
63
|
"GPTQFactory",
|
|
@@ -264,6 +263,31 @@ def infer_object_device(obj: Any) -> torch.device | None:
|
|
|
264
263
|
return None
|
|
265
264
|
|
|
266
265
|
|
|
266
|
+
@dataclass(frozen=True)
|
|
267
|
+
class _ForwardState:
|
|
268
|
+
"""Preserve the instance slot, not a bound copy of an inherited method."""
|
|
269
|
+
|
|
270
|
+
had_instance_forward: bool
|
|
271
|
+
captured_forward: Callable[..., Any]
|
|
272
|
+
|
|
273
|
+
@classmethod
|
|
274
|
+
def capture(cls, module: nn.Module) -> "_ForwardState":
|
|
275
|
+
assert module.forward is not None
|
|
276
|
+
return cls(
|
|
277
|
+
had_instance_forward="forward" in module.__dict__,
|
|
278
|
+
captured_forward=module.forward,
|
|
279
|
+
)
|
|
280
|
+
|
|
281
|
+
def restore(self, module: nn.Module) -> None:
|
|
282
|
+
if self.had_instance_forward:
|
|
283
|
+
module.forward = self.captured_forward
|
|
284
|
+
else:
|
|
285
|
+
module.__dict__.pop("forward", None)
|
|
286
|
+
|
|
287
|
+
def __call__(self, *args, **kwargs):
|
|
288
|
+
return self.captured_forward(*args, **kwargs)
|
|
289
|
+
|
|
290
|
+
|
|
267
291
|
@register_quantizer(UniversalGPTQConfig)
|
|
268
292
|
class UniversalGPTQQuantizer(BaseQuantizer):
|
|
269
293
|
"""
|
|
@@ -317,7 +341,7 @@ class UniversalGPTQQuantizer(BaseQuantizer):
|
|
|
317
341
|
self._cache_kwargs: list[
|
|
318
342
|
dict[str, Any]
|
|
319
343
|
] = [] # cache_kwargs[i] -> i-th batch of keyword arguments
|
|
320
|
-
self._orig_model_forward:
|
|
344
|
+
self._orig_model_forward: _ForwardState | None = None
|
|
321
345
|
|
|
322
346
|
@torch.no_grad()
|
|
323
347
|
def prepare(
|
|
@@ -344,7 +368,10 @@ class UniversalGPTQQuantizer(BaseQuantizer):
|
|
|
344
368
|
Raises:
|
|
345
369
|
AssertionError: If prepare() is called twice without convert().
|
|
346
370
|
"""
|
|
347
|
-
assert
|
|
371
|
+
assert (
|
|
372
|
+
self._orig_model_forward is None and len(self._cache_args) == 0
|
|
373
|
+
), "prepare() called twice without convert()"
|
|
374
|
+
|
|
348
375
|
# Substitute the model's forward method to cache model inputs
|
|
349
376
|
def new_forward(model: nn.Module, *args, **kwargs) -> Any:
|
|
350
377
|
"""
|
|
@@ -354,7 +381,7 @@ class UniversalGPTQQuantizer(BaseQuantizer):
|
|
|
354
381
|
self._cache_kwargs.append({k: move_to_cpu(v) for k, v in kwargs.items()})
|
|
355
382
|
return None
|
|
356
383
|
|
|
357
|
-
self._orig_model_forward = model
|
|
384
|
+
self._orig_model_forward = _ForwardState.capture(model)
|
|
358
385
|
model.forward = types.MethodType(new_forward, model)
|
|
359
386
|
return model
|
|
360
387
|
|
|
@@ -379,7 +406,8 @@ class UniversalGPTQQuantizer(BaseQuantizer):
|
|
|
379
406
|
"""
|
|
380
407
|
assert self._orig_model_forward is not None, "convert() called before prepare()"
|
|
381
408
|
assert len(self._cache_args) > 0, "convert() called before calibration"
|
|
382
|
-
|
|
409
|
+
self._orig_model_forward.restore(model)
|
|
410
|
+
self._orig_model_forward = None
|
|
383
411
|
assert type(self.config) is UniversalGPTQConfig
|
|
384
412
|
gptq_quantize(
|
|
385
413
|
model,
|
|
@@ -431,7 +459,7 @@ class GPTQ_Data:
|
|
|
431
459
|
the quantization lifecycle and stores intermediate results.
|
|
432
460
|
|
|
433
461
|
Attributes:
|
|
434
|
-
old_forward: The original
|
|
462
|
+
old_forward: The original callable while wrapped; cleared when unwrapped.
|
|
435
463
|
gptq: GPTQ instance for Hessian accumulation (None after quantization).
|
|
436
464
|
quantizer: Quantizer with computed scale/zero-point (None before quantization).
|
|
437
465
|
is_cacheable: Whether the module's outputs are cached during model replay.
|
|
@@ -448,7 +476,7 @@ class GPTQ_Data:
|
|
|
448
476
|
"""
|
|
449
477
|
|
|
450
478
|
full_module_name: str
|
|
451
|
-
old_forward:
|
|
479
|
+
old_forward: _ForwardState | None
|
|
452
480
|
gptq: GPTQProtocol | None
|
|
453
481
|
quantizer: Quantizer | None
|
|
454
482
|
is_cacheable: bool
|
|
@@ -617,7 +645,9 @@ def wrap_model(
|
|
|
617
645
|
args = move_to_device(args, gptq_data.weight_device)
|
|
618
646
|
kwargs = move_to_device(kwargs, gptq_data.weight_device)
|
|
619
647
|
assert type(kwargs) is dict
|
|
620
|
-
|
|
648
|
+
original_forward = gptq_data.old_forward
|
|
649
|
+
assert original_forward is not None, "Module is not wrapped"
|
|
650
|
+
return original_forward(*args, **kwargs)
|
|
621
651
|
|
|
622
652
|
def new_forward(module: nn.Module, *args, **kwargs) -> Any:
|
|
623
653
|
gptq_data: GPTQ_Data = get_gptq_data(module)
|
|
@@ -710,7 +740,7 @@ def wrap_model(
|
|
|
710
740
|
"gptq_data",
|
|
711
741
|
GPTQ_Data(
|
|
712
742
|
full_module_name=full_model_name,
|
|
713
|
-
old_forward=model
|
|
743
|
+
old_forward=_ForwardState.capture(model),
|
|
714
744
|
gptq=None,
|
|
715
745
|
quantizer=None,
|
|
716
746
|
is_cacheable=is_cacheable,
|
|
@@ -770,7 +800,9 @@ def unwrap_model(model: nn.Module, retain_gptq_data: bool = False) -> None:
|
|
|
770
800
|
"""
|
|
771
801
|
for module in model.modules():
|
|
772
802
|
gptq_data: GPTQ_Data = get_gptq_data(module)
|
|
773
|
-
|
|
803
|
+
if gptq_data.old_forward is not None:
|
|
804
|
+
gptq_data.old_forward.restore(module)
|
|
805
|
+
gptq_data.old_forward = None
|
|
774
806
|
if not retain_gptq_data:
|
|
775
807
|
gptq_data.cached_output.clear()
|
|
776
808
|
gptq_data.cached_native_output.clear()
|
|
@@ -1195,7 +1227,7 @@ def find_multicall_modules(
|
|
|
1195
1227
|
assert not hasattr(m, "per_batch_invocation_count")
|
|
1196
1228
|
assert not hasattr(m, "total_invocations")
|
|
1197
1229
|
assert not hasattr(m, "full_module_name")
|
|
1198
|
-
setattr(m, "old_forward", m
|
|
1230
|
+
setattr(m, "old_forward", _ForwardState.capture(m))
|
|
1199
1231
|
setattr(m, "per_batch_invocation_count", 0)
|
|
1200
1232
|
setattr(m, "total_invocations", 0)
|
|
1201
1233
|
setattr(m, "full_module_name", name)
|
|
@@ -1221,12 +1253,12 @@ def find_multicall_modules(
|
|
|
1221
1253
|
setattr(m, "per_batch_invocation_count", 0)
|
|
1222
1254
|
finally:
|
|
1223
1255
|
for m in model.modules():
|
|
1224
|
-
old_forward = getattr(m, "old_forward")
|
|
1225
|
-
assert old_forward
|
|
1226
|
-
m
|
|
1227
|
-
delattr(m, "per_batch_invocation_count")
|
|
1256
|
+
old_forward: _ForwardState = getattr(m, "old_forward")
|
|
1257
|
+
assert isinstance(old_forward, _ForwardState)
|
|
1258
|
+
old_forward.restore(m)
|
|
1228
1259
|
delattr(m, "old_forward")
|
|
1229
1260
|
delattr(m, "full_module_name")
|
|
1261
|
+
delattr(m, "per_batch_invocation_count")
|
|
1230
1262
|
|
|
1231
1263
|
if verbose:
|
|
1232
1264
|
print(f"[MULTI-CALL MODULE] {len(multicall_modules)} multi-call modules found")
|
|
@@ -1292,7 +1324,7 @@ def find_caller_and_callee_modules(
|
|
|
1292
1324
|
for name, m in model.named_modules():
|
|
1293
1325
|
assert not hasattr(m, "old_forward")
|
|
1294
1326
|
assert not hasattr(m, "full_module_name")
|
|
1295
|
-
setattr(m, "old_forward", m
|
|
1327
|
+
setattr(m, "old_forward", _ForwardState.capture(m))
|
|
1296
1328
|
setattr(m, "full_module_name", name)
|
|
1297
1329
|
m.forward = types.MethodType(new_forward, m)
|
|
1298
1330
|
|
|
@@ -1324,9 +1356,9 @@ def find_caller_and_callee_modules(
|
|
|
1324
1356
|
print(f"[INFO] {caller_name} CALLS {', '.join(callee_names)}")
|
|
1325
1357
|
finally:
|
|
1326
1358
|
for m in model.modules():
|
|
1327
|
-
old_forward = getattr(m, "old_forward")
|
|
1328
|
-
assert old_forward
|
|
1329
|
-
m
|
|
1359
|
+
old_forward: _ForwardState = getattr(m, "old_forward")
|
|
1360
|
+
assert isinstance(old_forward, _ForwardState)
|
|
1361
|
+
old_forward.restore(m)
|
|
1330
1362
|
delattr(m, "old_forward")
|
|
1331
1363
|
delattr(m, "full_module_name")
|
|
1332
1364
|
|
|
@@ -357,6 +357,8 @@ def _build_qwen3_vl_overrides(
|
|
|
357
357
|
num_text_layers: int,
|
|
358
358
|
num_deepstack_mergers: int,
|
|
359
359
|
linear_weight: Optional[QuantSpec],
|
|
360
|
+
text_linear_weight: Optional[QuantSpec],
|
|
361
|
+
vision_linear_weight: Optional[QuantSpec],
|
|
360
362
|
vision_patch_embed_weight: Optional[QuantSpec],
|
|
361
363
|
embedding_weight: Optional[QuantSpec],
|
|
362
364
|
lm_head_weight: Optional[QuantSpec],
|
|
@@ -369,6 +371,12 @@ def _build_qwen3_vl_overrides(
|
|
|
369
371
|
|
|
370
372
|
vision_overrides: Dict[str, Any] = {}
|
|
371
373
|
|
|
374
|
+
# Vision towers fall back to the shared linear weight spec unless a
|
|
375
|
+
# dedicated vision spec is provided (e.g. no_quant to keep vision in FP).
|
|
376
|
+
eff_vision_weight = (
|
|
377
|
+
vision_linear_weight if vision_linear_weight is not None else linear_weight
|
|
378
|
+
)
|
|
379
|
+
|
|
372
380
|
patch_embed_override = _build_weight_override(vision_patch_embed_weight)
|
|
373
381
|
if patch_embed_override:
|
|
374
382
|
_set_nested_override(
|
|
@@ -382,13 +390,13 @@ def _build_qwen3_vl_overrides(
|
|
|
382
390
|
vision_overrides["blocks"][
|
|
383
391
|
str(block_idx)
|
|
384
392
|
] = _build_qwen3_vl_vision_block_overrides(
|
|
385
|
-
linear_weight=
|
|
393
|
+
linear_weight=eff_vision_weight,
|
|
386
394
|
norm=norm,
|
|
387
395
|
norm_weight=norm_weight,
|
|
388
396
|
)
|
|
389
397
|
|
|
390
398
|
merger_override = _build_qwen3_vl_vision_merger_overrides(
|
|
391
|
-
linear_weight=
|
|
399
|
+
linear_weight=eff_vision_weight,
|
|
392
400
|
norm=norm,
|
|
393
401
|
norm_weight=norm_weight,
|
|
394
402
|
)
|
|
@@ -398,7 +406,7 @@ def _build_qwen3_vl_overrides(
|
|
|
398
406
|
if num_deepstack_mergers > 0:
|
|
399
407
|
vision_overrides["deepstack_merger_list"] = {}
|
|
400
408
|
deepstack_override = _build_qwen3_vl_vision_merger_overrides(
|
|
401
|
-
linear_weight=
|
|
409
|
+
linear_weight=eff_vision_weight,
|
|
402
410
|
norm=norm,
|
|
403
411
|
norm_weight=norm_weight,
|
|
404
412
|
)
|
|
@@ -424,10 +432,16 @@ def _build_qwen3_vl_overrides(
|
|
|
424
432
|
)
|
|
425
433
|
_set_nested_override(overrides, ("rotate_lm_head",), spin_rotation_override)
|
|
426
434
|
|
|
435
|
+
# Text tower falls back to the shared linear weight spec unless a
|
|
436
|
+
# dedicated text spec is provided (e.g. no_quant to keep the LM in FP).
|
|
437
|
+
eff_text_weight = (
|
|
438
|
+
text_linear_weight if text_linear_weight is not None else linear_weight
|
|
439
|
+
)
|
|
440
|
+
|
|
427
441
|
text_overrides["layers"] = {}
|
|
428
442
|
for layer_idx in range(num_text_layers):
|
|
429
443
|
text_overrides["layers"][str(layer_idx)] = _build_qwen3_vl_text_layer_overrides(
|
|
430
|
-
linear_weight=
|
|
444
|
+
linear_weight=eff_text_weight,
|
|
431
445
|
norm=norm,
|
|
432
446
|
norm_weight=norm_weight,
|
|
433
447
|
)
|
|
@@ -457,6 +471,8 @@ def build_qwen3_vl_ptq_config(
|
|
|
457
471
|
activation: Optional[QuantSpec] = None,
|
|
458
472
|
weight: Optional[QuantSpec] = None,
|
|
459
473
|
linear_weight: Optional[QuantSpec] = None,
|
|
474
|
+
text_linear_weight: Optional[QuantSpec] = None,
|
|
475
|
+
vision_linear_weight: Optional[QuantSpec] = None,
|
|
460
476
|
vision_patch_embed_weight: Optional[QuantSpec] = None,
|
|
461
477
|
embedding_weight: Optional[QuantSpec] = None,
|
|
462
478
|
lm_head_weight: Optional[QuantSpec] = None,
|
|
@@ -475,6 +491,11 @@ def build_qwen3_vl_ptq_config(
|
|
|
475
491
|
activation: Default spec for activation-like observers.
|
|
476
492
|
weight: Default spec for parameter-like observers.
|
|
477
493
|
linear_weight: Weight spec for linear projections.
|
|
494
|
+
text_linear_weight: Optional weight spec for the text decoder layers.
|
|
495
|
+
When None, text linears use ``linear_weight``.
|
|
496
|
+
vision_linear_weight: Optional weight spec for the vision tower
|
|
497
|
+
(blocks, merger, deepstack mergers). When None, vision linears
|
|
498
|
+
use ``linear_weight``.
|
|
478
499
|
vision_patch_embed_weight: Weight spec for vision patch embedding.
|
|
479
500
|
embedding_weight: Weight spec for token embeddings.
|
|
480
501
|
lm_head_weight: Weight spec for the language modeling head.
|
|
@@ -494,6 +515,8 @@ def build_qwen3_vl_ptq_config(
|
|
|
494
515
|
num_text_layers=num_text_layers,
|
|
495
516
|
num_deepstack_mergers=num_deepstack_mergers,
|
|
496
517
|
linear_weight=linear_weight,
|
|
518
|
+
text_linear_weight=text_linear_weight,
|
|
519
|
+
vision_linear_weight=vision_linear_weight,
|
|
497
520
|
vision_patch_embed_weight=vision_patch_embed_weight,
|
|
498
521
|
embedding_weight=embedding_weight,
|
|
499
522
|
lm_head_weight=lm_head_weight,
|
|
@@ -13,16 +13,48 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
from dataclasses import dataclass, field
|
|
16
|
-
from typing import Any, Mapping, Optional, Type
|
|
16
|
+
from typing import Any, cast, Mapping, Optional, Type
|
|
17
17
|
|
|
18
18
|
from tico.quantization.config.utils import auto_qscheme_for, dtype_is_unsigned
|
|
19
19
|
from tico.quantization.wrapq.dtypes import DType
|
|
20
20
|
from tico.quantization.wrapq.observers.base import ObserverBase
|
|
21
|
+
from tico.quantization.wrapq.observers.ema import EMAObserver
|
|
21
22
|
from tico.quantization.wrapq.observers.identity import IdentityObserver
|
|
22
23
|
from tico.quantization.wrapq.observers.minmax import MinMaxObserver
|
|
23
24
|
from tico.quantization.wrapq.observers.mx import MXObserver
|
|
25
|
+
from tico.quantization.wrapq.observers.percentile import PercentileObserver
|
|
24
26
|
from tico.quantization.wrapq.qscheme import QScheme
|
|
25
27
|
|
|
28
|
+
#: String-to-class registry for affine observer selection from YAML configs.
|
|
29
|
+
_AFFINE_OBSERVER_REGISTRY = {
|
|
30
|
+
"minmax": MinMaxObserver,
|
|
31
|
+
"ema": EMAObserver,
|
|
32
|
+
"percentile": PercentileObserver,
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _resolve_affine_observer(name: str) -> type[ObserverBase]:
|
|
37
|
+
"""Resolve an affine observer name to its class.
|
|
38
|
+
|
|
39
|
+
Args:
|
|
40
|
+
name: Observer name such as ``"minmax"``, ``"ema"``, or
|
|
41
|
+
``"percentile"`` (case-insensitive).
|
|
42
|
+
|
|
43
|
+
Returns:
|
|
44
|
+
The observer class registered under *name*.
|
|
45
|
+
|
|
46
|
+
Raises:
|
|
47
|
+
ValueError: If *name* is not a registered affine observer name.
|
|
48
|
+
"""
|
|
49
|
+
key = name.strip().lower()
|
|
50
|
+
try:
|
|
51
|
+
return cast(type[ObserverBase], _AFFINE_OBSERVER_REGISTRY[key])
|
|
52
|
+
except KeyError:
|
|
53
|
+
supported = ", ".join(sorted(_AFFINE_OBSERVER_REGISTRY))
|
|
54
|
+
raise ValueError(
|
|
55
|
+
f"Unknown affine observer {name!r}. " f"Supported observers: {supported}."
|
|
56
|
+
) from None
|
|
57
|
+
|
|
26
58
|
|
|
27
59
|
def _resolve_qscheme(
|
|
28
60
|
*,
|