tf_nndct.IterativePruningRunner - 2.5 简体中文

Vitis AI 优化器用户指南 (UG1333)

Document ID
UG1333
Release Date
2022-06-15
Version
2.5 简体中文

此运行器适用于以迭代方式对 Keras 模型进行结构化剪枝。此 API 具有下列方法:

  • __init__(model, input_specs)

    创建新的 IterativePruningRunner 对象。

    model
    要进行剪枝的基线模型。模式应为 keras.Model 的实例。
    input_specs
    单个 tf.TensorSpec 或列表,用于表示模型输入规范。
  • ana(eval_fn, excludes=None, forced=False)

    执行模型分析。分析结果将保存在 '.vai' 目录中,除非 forced 设为 True,否则此缓存结果将在后续调用中直接使用。

    eval_fn
    可调用对象,取 keras.Model 对象作为其第一个实参,并返回评估得分。
    excludes
    要从剪枝中排除的层名称或层实例的列表。
    forced
    此项设为 True 时,会运行模型分析而不使用缓存的分析结果。
  • prune(ratio=None, threshold=None, spec_path=None, excludes=None, mode='sparse')

    对基线模型进行剪枝,并返回稀疏模型。模型缩减程度可通过三种方式来指定:比率、阈值或剪枝规范。第一种方法是首选方法;后两种方法更适合搭配手动微调来进行实验。

    ratio
    期望的基线模型 MAC 缩减百分比。这是指导值,实际 MAC 缩减可能并非与该值严格相等。
    threshold
    基线模型与剪枝后的模型之间的相对模型性能损失比例。
    spec_path
    用于模型剪枝的剪枝规范路径。
    excludes
    要从剪枝中排除的层名称或层实例的列表。
    mode
    基线模型的剪枝模式,剪枝后返回稀疏模型。
  • get_slim_model(spec_path=None)

    从稀疏模型获取精简模型。默认使用最新剪枝规范来执行此变换。如果最新规范未生成稀疏模型,则可显式提供规范路径。

    spec_path
    剪枝规范路径,此剪枝规范用于将稀疏模型变换为精简模型。