compressor
compressor
¶
Post-training compression orchestration.
PostTrainingCompressor
¶
PostTrainingCompressor(checkpoint_path, modules, preparation, calibration_steps=32, checkpoint_name=value, output_directory=None, generate_report=False, pruning=None, quantization=None, deployment_backend=None)
Post-training compression pipeline for a trained policy.
Orchestrates loading, validation, preparation, pruning, quantization, deployment export, and serialization.
Initialize the compression pipeline.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
checkpoint_path
|
str
|
Path to the training checkpoint directory. |
required |
modules
|
list[CompressionTarget]
|
Per-module compression schemes (empty = global). |
required |
preparation
|
PreparationConfig
|
Global preparation settings. |
required |
calibration_steps
|
int
|
Number of calibration batches for static quantization. |
32
|
checkpoint_name
|
str
|
Checkpoint filename inside the directory. |
value
|
output_directory
|
str | None
|
Where to save compressed output.
Defaults to checkpoint_path/compressed/ |
None
|
generate_report
|
bool
|
Whether to generate a quantization report after saving. Disabled by default since it runs additional forward passes for benchmarking. |
False
|
pruning
|
list[BasePruner] | None
|
Global pruning strategies (inherited by modules). |
None
|
quantization
|
BaseQuantizationWorkflow | None
|
Quantization workflow. |
None
|
deployment_backend
|
DeploymentBackend | None
|
Deployment backend that owns artifact format and lowering. Defaults to torch inductor. |
None
|
Source code in src/versatil/post_training_compression/compressor.py
compress
¶
Run the full compression pipeline.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
hydra_config
|
DictConfig
|
Raw Hydra config for serialization into the compressed checkpoint directory. |
required |
Returns:
| Type | Description |
|---|---|
str
|
Path to the saved compressed model directory. |
Source code in src/versatil/post_training_compression/compressor.py
resolve_modules
¶
Return the compression targets for this run.
Supports two configuration modes: per-module (explicit
modules list targeting specific submodules) and global
(modules is empty, applying the top-level preparation and
pruning to the entire policy).
Returns:
| Type | Description |
|---|---|
list[CompressionTarget]
|
Non-empty list of CompressionTarget instances. |
Source code in src/versatil/post_training_compression/compressor.py
validate
¶
Validate compression target module paths and overlaps.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
policy
|
Module
|
The loaded policy model. |
required |
modules
|
list[CompressionTarget]
|
Resolved compression targets from resolve_modules(). |
required |
Raises:
| Type | Description |
|---|---|
ValueError
|
If a module_path doesn't match a submodule, or if two targets overlap and would compound pruning on the same module. |