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