运行量化并获取结果 - 3.5 简体中文

Vitis AI 用户指南 (UG1414)

Document ID
UG1414
Release Date
2023-09-28
Version
3.5 简体中文
注释: “vai_q_pytorch”log 日志消息可通过特殊颜色和独特的关键字前缀“VAI_Q_*”来识别。log 日志消息类型包括“error”、“warning”和“note”。监控“vai_q_pytorch”log 日志消息对于验证流程状态至关重要。
  1. 运行以下命令来量化该模型:
    python resnet18_quant.py --quant_mode calib --subset_len 200

    向前校准时,请借用浮点评估流程,以最大程度减少浮点脚本中的代码更改。如果最终遇到损失和精度消息,可将其忽略。

    在量化和评估过程中,控制迭代次数至关重要。通常,对于量化而言,使用 100 到 1000 张图像足矣,评估则需要整个确认集。您可在数据加载部分管理迭代次数。其中 subset_len 实参可管理用于网络前传的图像数量。如果浮点评估脚本缺少类似实参,则必须添加一个。

    成功执行量化命令后,会在输出目录 ./quantize_result 中生成两个重要文件。

    ResNet.py
    转换后的 vai_q_pytorch 格式模型。
    Quant_info.json
    张量的量化步骤。保留此文件以便评估量化模型。
  2. 要评估量化模型,请运行以下命令:
    python resnet18_quant.py --quant_mode test

    成功执行命令后显示的精度对应于量化模型的精度。

  3. 要生成 XMODEL 以便进行编译(以及供 ONNX 格式量化模型使用),批次大小应为 1。设置 subset_len=1 可避免冗余迭代,并运行以下命令:
    python resnet18_quant.py --quant_mode test --subset_len 1 --batch_size=1 --deploy

    运行期间,跳过 log 日志中显示的损失和精度。Vitis AI 编译器的 XMODEL 文件会在输出目录 ./quantize_result 中生成。此文件可用于部署到 FPGA。

    ResNet_int.xmodel: deployed XIR format model
    ResNet_int.onnx:   deployed onnx format model
    ResNet_int.pt:     deployed torch script format model
    注释:Vitis AI Docker 的 Vitis AI-pytorch conda 环境中,XIR 已准备就绪可供使用。但如果您从源代码安装 vai_q_pytorch,则需要提前安装 XIR。如不安装 XIR,将无法生成 XMODEL 文件,从而导致执行命令时出错。但您仍可在输出 log 日志中验证精度。