# paddleslim.dist package

## Submodules

## paddleslim.dist.single_distiller module

`paddleslim.dist.single_distiller.``fsp_loss`(teacher_var1_name, teacher_var2_name, student_var1_name, student_var2_name, program=None)

  Combine variables from student model and teacher model by fsp-loss.

  Parameters: | teacher_var1_name (str) – The name of teacher_var1. teacher_var2_name (str) – The name of teacher_var2. Except for the second dimension, all other dimensions should be consistent with teacher_var1. student_var1_name (str) – The name of student_var1. student_var2_name (str) – The name of student_var2. Except for the second dimension, all other dimensions should be consistent with student_var1. program (Program) – The input distiller program. If not specified, the default program will be used. Default: None
  Returns: | fsp distiller loss.
  Return type: | Variable

`paddleslim.dist.single_distiller.``l2_loss`(teacher_var_name, student_var_name, program=None)

  Combine variables from student model and teacher model by l2-loss.

  Parameters: | teacher_var_name (str) – The name of teacher_var. student_var_name (str) – The name of student_var. program (Program) – The input distiller program. If not specified, the default program will be used. Default: None
  Returns: | l2 distiller loss.
  Return type: | Variable

`paddleslim.dist.single_distiller.``loss`(loss_func, program=None, **kwargs)

  Combine variables from student model and teacher model by self defined loss.

  Parameters: | program (Program) – The input distiller program. If not specified, the default program will be used. Default: None loss_func (function) – The user self defined loss function.
  Returns: | self defined distiller loss.
  Return type: | Variable

`paddleslim.dist.single_distiller.``merge`(teacher_program, student_program, data_name_map, place, scope=None, name_prefix='teacher_')

  Merge teacher program into student program and add a uniform prefix to the names of all vars in teacher program

  Parameters: | teacher_program (Program) – The input teacher model paddle program student_program (Program) – The input student model paddle program data_map_map (dict) – Mapping of teacher input interface name and student input interface name, where key of dict is the input name of teacher_program, and value is the input name of student_program. place (fluid.CPUPlace()|fluid.CUDAPlace(N)) – This parameter represents paddle run on which device. scope (Scope) – This parameter indicates the variable scope used by the program. If not specified, the default global scope will be used. Default: None name_prefix (str) – Name prefix added for all vars of the teacher program. Default: ‘teacher_‘
  Returns: | None

`paddleslim.dist.single_distiller.``soft_label_loss`(teacher_var_name, student_var_name, program=None, teacher_temperature=1.0, student_temperature=1.0)

  Combine variables from student model and teacher model by soft-label-loss.

  Parameters: | teacher_var_name (str) – The name of teacher_var. student_var_name (str) – The name of student_var. program (Program) – The input distiller program. If not specified, the default program will be used. Default: None teacher_temperature (float) – Temperature used to divide teacher_feature_map before softmax. Default: 1.0 student_temperature (float) – Temperature used to divide student_feature_map before softmax. Default: 1.0
  Returns: | l2 distiller loss.
  Return type: | Variable