torch_to_nnef.tensor.quant.base
Classes:
| Name | Description |
|---|---|
QScalePerGroupF16 |
f16 scale only per group. |
QScheme |
|
QTensor |
Common interface for all Compressed storage. |
U8Compressor |
Abstract class to add u8 compression methods. |
Functions:
| Name | Description |
|---|---|
qscale_per_group_f16_min_max_calibration |
Build QScalePerGroupF16 and calibrate requested float tensor. |
QScalePerGroupF16
QScheme
QTensor
QTensor(fp_tensor: Tensor, qscheme: QScheme, dequant_to_dtype=torch.float32, u8_compressors: Optional[List[U8Compressor]] = None)
Bases: OpaqueTensor
Common interface for all Compressed storage.
Methods:
| Name | Description |
|---|---|
to_device |
Specific device handling. |
write_in_file |
Called at NNEF write time. |
U8Compressor
Abstract class to add u8 compression methods.
This can be used to
Apply bitpack elements bellow 8bit Apply classic compression algorithm
Warning !! .shape of u8_tensor compressed must be same as .shape once decompressed
Methods:
| Name | Description |
|---|---|
compress |
Compress a u8 tensor (into u8). |
decompress |
Decompress an u8 torch tensor (into u8). |
to_device |
Specific device handling. |
compress
abstractmethod
Compress a u8 tensor (into u8).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
tensor to be compressed with dtype torch.uint8 |
required |
Return: compressed tensor with dtype torch.uint8
decompress
abstractmethod
Decompress an u8 torch tensor (into u8).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
compressed tensor with dtype torch.uint8 |
required |
Return: tensor decompressed with dtype torch.uint8