MNN/docs/pymnn/compress.md

44 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## compress
```python
module compress
```
compress模块用来做`Quantization-Aware-Training(QAT)`训练量化,提供了训练量化的接口
---
### `compress.Feature_Scale_Method`
对特征的量化方式可以针对整个特征进行量化也可以针对每个channel进行量化
- 类型:`Enum`
- 枚举值:
- `PER_TENSOR`
- `PER_CHANNEL`
---
### `compress.Scale_Update_Method`
scale的更新方式
- 类型:`Enum`
- 枚举值:
- `MAXIMUM`
- `MOVING_AVERAGE`
---
### `train_quant(module, |quant_bits, feature_scale_method, scale_update_method)`
训练量化
参数:
- `module` 待训练模型
- `quant_bits` 量化位数,默认为 `8`
- `feature_scale_method` 特征的量化方式,默认为 `PER_TENSOR`
- `scale_update_method` scale的更新方式默认为 `MOVING_AVERAGE`
返回:是否成功
返回类型:`bool`
示例
```python
# args are self-explained
nn.compress.train_quant(module, quant_bits = 8, feature_scale_method = Feature_Scale_Method.PER_TENSOR, scale_update_method = Scale_Update_Method.MOVING_AVERAGE)
```