检查浮点模型 - 3.5 简体中文

Vitis AI 用户指南 (UG1414)

Document ID
UG1414
Release Date
2023-09-28
Version
3.5 简体中文
VitisInspector 作为一个帮助程序工具,用于检查浮点模型、显示给定 DPU 目标架构的分区结果,此外还提供某些层未能映射到 DPU 的原因的指示信息。如无 target,您只能显示部分与目标无关的通用检查结果。分配 target 即可获取更多详细的检查结果。
注释: 由于 DPU 限制,仅限默认 pof2s 量化策略才能使用此功能特性。
以下代码显示了模型检查方式:

model = tf.keras.models.load_model('float_model.h5')
from tensorflow_model_optimization.quantization.keras import vitis_inspect
inspector = vitis_inspect.VitisInspector(target="DPUCADF8H_ISA0")
inspector.inspect_model(model, 
                        plot=True, 
                        plot_file="model.svg", 
                        dump_results=True, 
                        dump_results_file="inspect_results.txt", 
                        verbose=0)
target
string 或 None。表示此模型部署到的目标 DPU。它可采用名称字符串 (DPUCAHX8L_ISA0)、JSON 文件路径(例如,./U50/arch.json)或指纹。如果设为 None,则不应用目标,仅显示部分与目标无关的通用检查结果。默认值为 None。
model
tf.keras.Model 实例。表示要检查的浮点模型。浮点模型应包含具体的输入形状。以具体的输入形状来构建该模型,或者以 input_shape 实参调用 inspect_model。
input_shape
list(int)、list(list(int))、tuple(int) 或 dictionary(int)。包含每个输入层的输入形状。如不设置,则使用输入层中的默认形状信息。使用多个输入的形状的列表,例如,inspect_model(model, input_shape=[1, 224, 224, 3]) 或 inspect_model(model, input_shape=\[[None, 224, 224, 3], [None, 64, 1]])。所有维度都应包含具体的值,且 batch_size 维度应为 None 或 int。如果模型的输入形状是类似 [None, None, None, 3] 的变量,请指定类似 [None, 224, 224, 3] 的形状,以便生成最终量化模型。默认值为 None。
plot
bool。表示是否绘制 graphviz 的模型检查结果并将图像保存到磁盘。如需将模型检查结果可视化,并提供某些修改提示,那么此项很有用。
注释: 仅部分输出文件类型能显示提示,例如,.svg。默认值为 False。
plot_file
字符串。表示绘制模型时的模型图像文件的文件路径。默认值为 model.svg
dump_results
bool。表示是否转储检查结果并将文本保存到磁盘。相比于屏幕日志记录,它能将更详细的逐层结果转储到文本文件。默认值为 False。
dump_results_file
string。表示检查结果文本文件的文件路径。默认值为 inspect_results.txt
verbose
int。表示日志记录的详细程度。verbose 值越高,显示的日志记录结果越详细。默认值为 0。