整体约束和接口列表【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct整体约束若接口中存在需要用户输入文件路径的参数请确保输入路径正确AMCT不会对路径做安全校验。若接口中存在需要用户输入文件路径的参数重新执行量化时该参数相关取值将会被覆盖量化打屏日志中也会有相关文件被覆盖的warning风险提示信息。接口列表分类接口名称功能描述公共接口ModelEvaluator针对某一个模型根据模型的bin类型输入数据提供一个Python实例可对该模型执行校准和推理的评估器。训练后量化接口quantize高精度模型转换为校准模型得到量化校准模型推理后计算得到量化参数。convert将量化校准模型转换为量化部署模型。algorithm_register将用户提供的自定义算法注册到AMCT工具。create_quant_config训练后量化接口根据图的结构找到所有可量化的层自动生成量化配置文件并将可量化层的量化配置信息写入文件。quantize_model训练后量化接口将输入的待量化的图结构按照给定的量化配置文件进行量化处理在传入的图结构中插入权重量化、数据量化相关的算子生成量化因子记录文件record_file返回修改后的torch.nn.Module校准模型。save_model训练后量化接口根据量化因子记录文件record_file以及修改后的模型插入AscendQuant、AscendDequant等算子然后保存为可以在ONNX Runtime环境进行精度仿真的fake_quant模型和可以在AI处理器做推理的部署模型。accuracy_based_auto_calibration根据用户输入的模型、配置文件进行自动的校准过程搜索得到一个满足目标精度的量化配置输出可以在ONNX Runtime环境下做精度仿真的fake_quant模型和可在AI处理器上做推理的deploy模型。quantize_preprocess量化数据均衡预处理接口将输入的待量化的图结构按照给定的量化配置文件进行量化处理在传入的图结构中插入均衡量化相关的算子生成均衡量化因子记录文件record_file返回修改后的torch.nn.Module校准模型。量化感知训练接口create_quant_retrain_config量化感知训练接口根据图的结构找到所有可量化的层自动生成量化配置文件并将可量化层的量化配置信息写入配置文件。create_quant_retrain_model量化感知训练接口将输入的待量化的图结构按照给定的量化配置文件进行量化处理在传入的图结构中插入量化相关的算子数据和权重的量化感知训练层以及找N的层生成量化因子记录文件record_file返回修改后可用于量化感知训练的torch.nn.Module模型。restore_quant_retrain_model量化感知训练接口将输入的待量化的图结构按照给定的量化感知训练配置文件进行量化处理在传入的图结构中插入量化感知训练相关的算子数据和权重的量化感知训练层以及找N的层生成量化因子记录文件record_file加载训练过程中保存的checkpoint权重参数返回修改后的torch.nn.Module量化感知训练模型。save_quant_retrain_model量化感知训练接口根据用户最终的重训练好的模型插入AscendQuant、AscendDequant等算子生成最终量化精度仿真模型以及量化部署模型。单算子模式量化感知训练接口Conv2dQAT构造Conv2d的QAT算子。ConvTranspose2dQAT构造ConvTranspose2d的QAT算子。Conv3dQAT构造Conv3d的QAT算子。LinearQAT构造Linear的QAT算子。稀疏接口create_prune_retrain_model通道稀疏或4选2结构化稀疏接口两种稀疏特性每次只能使能一个将输入的待稀疏的图结构按照给定的稀疏配置文件进行稀疏处理在传入的图结构中插入或者替换相关的算子生成记录稀疏信息的record_file返回修改后可用于稀疏后训练的torch.nn.Module模型。restore_prune_retrain_model通道稀疏或4选2结构化稀疏接口两种稀疏特性每次只能使能一个将输入的待稀疏的图结构按照给定的record_file中稀疏记录进行稀疏返回修改后可用于稀疏后训练的torch.nn.Module模型。save_prune_retrain_model稀疏接口根据用户最终的重训练好的稀疏模型生成最终ONNX仿真模型以及部署模型。自动通道稀疏搜索接口auto_channel_prune_search自动通道稀疏接口根据用户模型来计算各通道的稀疏敏感度影响精度以及稀疏收益影响性能然后搜索策略依据该输入来搜索最优的逐层通道稀疏率以平衡精度和性能。最终输出一个配置文件。组合压缩接口create_compressed_retrain_model静态组合压缩接口将输入的待静态组合压缩的模型按照给定的组合压缩配置文件进行压缩处理即将传入的模型先进行稀疏通道稀疏或者4选2结构化稀疏二选一后对模型插入量化相关的算子数据和权重的量化感知训练层以及searchN的层生成稀疏和量化因子记录文件record_file如果配置存在返回修改后的torch.nn.Module模型。restore_compressed_retrain_model静态组合压缩训练接口将输入的待静态组合压缩的模型按照给定的组合压缩配置文件和record记录文件进行压缩处理先稀疏后量化加载保存的权重。将传入的模型按照给定record_file中稀疏记录进行稀疏后对模型插入量化相关的算子数据和权重的量化感知训练层以及searchN的层。加载训练过程中保存的checkpoint权重参数返回修改后的torch.nn.Module模型。save_compressed_retrain_model静态组合压缩接口根据用户最终的重训练好的模型生成最终静态组合压缩精度仿真模型以及部署模型。张量分解接口auto_decomposition对用户输入的PyTorch模型对象进行张量分解得到分解后的模型对象和分解前后层的对应名称并保存分解信息文件可选。decompose_network用户输入PyTorch模型对象和通过auto_decomposition保存的分解信息文件根据分解信息文件将模型对象改变为张量分解后的结构得到分解后的模型对象和分解前后层的对应名称。蒸馏接口create_distill_config蒸馏接口根据图的结构找到所有可蒸馏量化的层和可蒸馏量化的结构自动生成蒸馏量化配置文件并将可蒸馏量化层的量化配置和蒸馏结构写入配置文件。create_distill_model蒸馏接口将输入的待量化压缩的图结构按照给定的蒸馏量化配置文件进行量化处理在传入的图结构中插入量化相关的算子数据和权重的蒸馏量化层以及找N的层返回修改后可用于蒸馏的torch.nn.Module模型。distill蒸馏接口将输入的待蒸馏的图结构按照给定的蒸馏量化配置文件进行蒸馏处理返回修改后的torch.nn.Module蒸馏模型。save_distill_model蒸馏接口根据用户最终的蒸馏好的模型生成最终量化精度仿真模型以及量化部署模型。KV Cache量化接口create_quant_cali_configKV-cache量化接口根据用户传入模型、量化层信息与量化配置信息生成每个层的详细量化配置。create_quant_cali_modelKV-cache量化接口根据模型和量化详细配置对用户模型进行改图将待量化Linear算子替换为输出后进行IFMR/HFMG量化的量化算子后续用户拿到模型后进行在线校准校准后生成量化因子保存在record_file中。QuantCalibrationOpKV Cache量化接口用于用户构图在前向传播时根据用户的量化算法配置调用IFMR/HFMG量化算法对输出做校准校准后将量化因子依据对应格式输出到record_file文件指定层名中。【免费下载链接】amctAMCT是CANN提供的昇腾AI处理器亲和的模型压缩工具仓。项目地址: https://gitcode.com/cann/amct创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考