decompose_network
功能说明
按照用户配置的各层分解率,执行低秩分解,并返回分解后的模型。
函数原型
decompose_network(do_decompose_weight=True, datasets=None, max_iter=-1)
参数说明
参数名 |
输入/返回值 |
含义 |
使用限制 |
---|---|---|---|
do_decompose_weight |
输入 |
指定是否执行权重分解。若取值为False,则只将模型转化为低秩分解后的模型结构,各层权重为随机初始化的值。 |
可选。 数据类型:布尔值,取值为 True或False,默认值为True。 |
datasets |
输入 |
输入数据集。若取值不为None时,则需要使用data aware输入数据感知分解 |
可选。 默认值为None。若不为None,需输入模型可以直接遍历执行的数据集,其元素为 dict或list或tuple。 |
max_iter |
输入 |
datasets不为None,指定data aware分解时,从datasets中取数据的最大迭代数 |
可选。 数据类型:整数。默认值为-1,-1表示使用整个数据集,> 0 的值则表示在数据集中迭代的最大值。 |
调用示例
from modelslim.pytorch import low_rank_decompose decomposer = low_rank_decompose.Decompose(model).from_ratio(0.5, divisor=16) model = decomposer.decompose_network(do_decompose_weight=True)
父主题: Decompose