diff --git a/paddleslim/dist/single_distiller_api_doc.md b/paddleslim/dist/single_distiller_api_doc.md index 98f2cf89ed7197961a6d5d530bd77f4635ee7fa5..e166f922c50066e35413e2af3b3fa6c19533c42c 100644 --- a/paddleslim/dist/single_distiller_api_doc.md +++ b/paddleslim/dist/single_distiller_api_doc.md @@ -6,12 +6,12 @@ **参数:** -- teacher_program(Program)-定义了teacher模型的paddle program -- student_program(Program)-定义了student模型的paddle program -- data_name_map(dict)-teacher输入接口名与student输入接口名的映射,key为teacher的输入名,value为student的输入名。merge函数将会把这两个模型的输入按对应关系合并在一起,保证teacher与student输入数据相同 -- place(fluid.CPUPlace()|fluid.CUDAPlace(N))-该参数表示程序运行在何种设备上,这里的N为GPU对应的ID -- scope(Scope)-该参数表示teacher variables和student variables所使用的作用域,如果不指定将使用默认的全局作用域。默认值:fluid.global_scope() -- name_prefix(str)-为了避免teacher variables和student variables存在同名变量而引起命名冲突,merge函数将统一为teacher variables添加一个名称前缀name_prefix,merge后的program中所有teacher variables都将带有这一名称前缀。默认值:'teacher_' +- **teacher_program**(Program)-定义了teacher模型的paddle program +- **student_program**(Program)-定义了student模型的paddle program +- **data_name_map**(dict)-teacher输入接口名与student输入接口名的映射,key为teacher的输入名,value为student的输入名。merge函数将会把这两个模型的输入按对应关系合并在一起,保证teacher与student输入数据相同 +- **place**(fluid.CPUPlace()|fluid.CUDAPlace(N))-该参数表示程序运行在何种设备上,这里的N为GPU对应的ID +- **scope**(Scope)-该参数表示teacher variables和student variables所使用的作用域,如果不指定将使用默认的全局作用域。默认值:fluid.global_scope() +- **name_prefix**(str)-为了避免teacher variables和student variables存在同名变量而引起命名冲突,merge函数将统一为teacher variables添加一个名称前缀name_prefix,merge后的program中所有teacher variables都将带有这一名称前缀。默认值:'teacher_' **返回:**由student_program和teacher_program merge得到的program @@ -45,11 +45,11 @@ fsp_loss为program内的teacher var和student var添加fsp loss,出自论文[A **参数:** -- teacher_var1_name(str): teacher_var1的名称. 对应的variable是一个形为`[batch_size, x_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64 -- teacher_var2_name(str): teacher_var2的名称. 对应的variable是一个形为`[batch_size, y_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64。只有y_channel可以与teacher_var1的x_channel不同,其他维度必须与teacher_var1相同 -- student_var1_name(str): student_var1的名称. 对应的variable需与teacher_var1尺寸保持一致,是一个形为`[batch_size, x_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64 -- student_var2_name(str): student_var2的名称. 对应的variable需与teacher_var2尺寸保持一致,是一个形为`[batch_size, y_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64。只有y_channel可以与student_var1的x_channel不同,其他维度必须与student_var1相同 -- program(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() +- **teacher_var1_name**(str): teacher_var1的名称. 对应的variable是一个形为`[batch_size, x_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64 +- **teacher_var2_name**(str): teacher_var2的名称. 对应的variable是一个形为`[batch_size, y_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64。只有y_channel可以与teacher_var1的x_channel不同,其他维度必须与teacher_var1相同 +- **student_var1_name**(str): student_var1的名称. 对应的variable需与teacher_var1尺寸保持一致,是一个形为`[batch_size, x_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64 +- **student_var2_name**(str): student_var2的名称. 对应的variable需与teacher_var2尺寸保持一致,是一个形为`[batch_size, y_channel, height, width]`的4-D特征图Tensor,数据类型为float32或float64。只有y_channel可以与student_var1的x_channel不同,其他维度必须与student_var1相同 +- **program**(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() **返回:**由teacher_var1, teacher_var2, student_var1, student_var2组合得到的fsp_loss @@ -85,9 +85,9 @@ l2_loss为program内的teacher var和student var添加l2 loss **参数:** -- teacher_var_name(str): teacher_var的名称. -- student_var_name(str): student_var的名称. -- program(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() +- **teacher_var_name**(str): teacher_var的名称. +- **student_var_name**(str): student_var的名称. +- **program**(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() **返回:**由teacher_var, student_var组合得到的l2_loss @@ -123,11 +123,11 @@ soft_label_loss为program内的teacher var和student var添加soft label loss, **参数:** -- teacher_var_name(str): teacher_var的名称. -- student_var_name(str): student_var的名称. -- program(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() -- teacher_temperature(float): 对teacher_var进行soft操作的温度值,温度值越大得到的特征图越平滑 -- student_temperature(float): 对student_var进行soft操作的温度值,温度值越大得到的特征图越平滑 +- **teacher_var_name**(str): teacher_var的名称. +- **student_var_name**(str): student_var的名称. +- **program**(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() +- **teacher_temperature**(float): 对teacher_var进行soft操作的温度值,温度值越大得到的特征图越平滑 +- **student_temperature**(float): 对student_var进行soft操作的温度值,温度值越大得到的特征图越平滑 **返回:**由teacher_var, student_var组合得到的soft_label_loss @@ -163,9 +163,9 @@ loss函数支持对任意多对teacher_var和student_var使用自定义损失函 **参数:** -- loss_func(python function): 自定义的损失函数,输入为teacher var和student var,输出为自定义的loss -- program(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() -- **kwargs: loss_func输入名与对应variable名称 +- **loss_func**(python function): 自定义的损失函数,输入为teacher var和student var,输出为自定义的loss +- **program**(Program): 用于蒸馏训练的fluid program。默认值:fluid.default_main_program() +- **\**kwargs**: loss_func输入名与对应variable名称 **返回**:自定义的损失函数loss