使用新增数据格式 - 3.5 简体中文

Vitis AI 用户指南 (UG1414)

Document ID
UG1414
Release Date
2023-09-28
Version
3.5 简体中文

vai_q_pytorch 引入了一种全新的数据格式,称为块浮点 (block floating point, BFP)。在 BFP 中,任一块内的所有数值共享指数,该指数由块中最大的指数来确定。数字越小,其尾数越向右移以适应共享指数。

虽然您可使用 vai_q_pytorch 对量化结果进行评估,但当前没有将量化模型部署到硬件的选项。

注释: BFP 是一种新的数据格式,当前版本的 Vitis AI 工具链并不完全支持。

用法

BFP 提供了各种配置,包括位宽、块大小等。有两种开箱即用的配置类型(“mx6”和“mx9”)可供您直接使用,无需设置其配置项。要对模型进行量化,请执行以下步骤:

  • 准备浮点模型和输入:
    model = buid_your_model()
    batch_size = 32
    inputs = torch.randn([batch_size, 3, 224, 224], dtype=torch.float32)
  • 量化浮点模型:
    from pytorch_nndct import bfp
    quantized_model = bfp.quantize_model(model, inputs, dtype='mx6')
  • 确认量化后的模型:将该量化模型传递给确认函数,以便评估量化结果:
    validate(quantized_model, data_loader)

BFP API

bfp.quantize_model(model, inputs, dtype='mx6', config_file=None)
模型
要量化的浮点模块。
输入
此输入张量的形状应与要量化的浮点模块的实际输入相同,但可取随机值。
dtype
预配置的 BFP 配置。可用值为 mx6mx9
config_file
配置文件路径。该功能正在开发中。请使用预定义的 dtype。