paddleslim.nas.one_shot package¶
-
class
paddleslim.nas.one_shot.
OneShotSuperNet
(name_scope)¶ Bases:
paddle.fluid.dygraph.layers.Layer
The base class of super net used in one-shot searching strategy. A super net is a dygraph layer.
Parameters: name_scope (str) – The name scope of super net. -
forward
(input, tokens=None)¶ Defines the computation performed at every call.
Parameters: - input (variable) – The input of super net.
- tokens (list) – The tokens used to generate a sub-network. None means computing in super net training mode. Otherwise, it will execute the sub-network generated by tokens. The tokens should be set in searching stage and final training stage. Default: None.
Returns: The output of super net.
Return type: Varaible
-
init_tokens
()¶ Get init tokens in search space.
Returns: The init tokens which is a list of integer. Return type: lis<int>t
-
range_table
()¶ Get range table of current search space.
Returns: - The maximum value and minimum value in each position of tokens
- with format (min_values, max_values). The min_values is a list of integers indicating the minimum values while max_values indicating the maximum values.
Return type: range_table(tuple)
-
-
paddleslim.nas.one_shot.
OneShotSearch
(model, eval_func, strategy='sa', search_steps=100)¶ Search a best tokens which represents a sub-network.
Parameters: - model (fluid.dygraph.Layer) – A dynamic graph module whose sub-modules should contain one instance of OneShotSuperNet at least.
- eval_func (function) – A callback function which accept model and tokens as arguments.
- strategy (str) – The name of strategy used to search. Default: ‘sa’.
- search_steps (int) – The total steps for searching.
Returns: The best tokens searched.
Return type: list<int>
-
class
paddleslim.nas.one_shot.
SuperMnasnet
(name_scope, input_channels=3, out_channels=1280, repeat_times=[6, 6, 6, 6, 6, 6], stride=[1, 1, 1, 1, 2, 1], channels=[16, 24, 40, 80, 96, 192, 320], use_auxhead=False)¶ Bases:
paddleslim.nas.one_shot.one_shot_nas.OneShotSuperNet
-
get_flops
(input, output, op)¶
-
init_tokens
()¶
-
range_table
()¶
-
Submodules¶
paddleslim.nas.one_shot.one_shot_nas module¶
-
class
paddleslim.nas.one_shot.one_shot_nas.
OneShotSuperNet
(name_scope)¶ Bases:
paddle.fluid.dygraph.layers.Layer
The base class of super net used in one-shot searching strategy. A super net is a dygraph layer.
Parameters: name_scope (str) – The name scope of super net. -
forward
(input, tokens=None)¶ Defines the computation performed at every call.
Parameters: - input (variable) – The input of super net.
- tokens (list) – The tokens used to generate a sub-network. None means computing in super net training mode. Otherwise, it will execute the sub-network generated by tokens. The tokens should be set in searching stage and final training stage. Default: None.
Returns: The output of super net.
Return type: Varaible
-
init_tokens
()¶ Get init tokens in search space.
Returns: The init tokens which is a list of integer. Return type: lis<int>t
-
range_table
()¶ Get range table of current search space.
Returns: - The maximum value and minimum value in each position of tokens
- with format (min_values, max_values). The min_values is a list of integers indicating the minimum values while max_values indicating the maximum values.
Return type: range_table(tuple)
-
-
paddleslim.nas.one_shot.one_shot_nas.
OneShotSearch
(model, eval_func, strategy='sa', search_steps=100)¶ Search a best tokens which represents a sub-network.
Parameters: - model (fluid.dygraph.Layer) – A dynamic graph module whose sub-modules should contain one instance of OneShotSuperNet at least.
- eval_func (function) – A callback function which accept model and tokens as arguments.
- strategy (str) – The name of strategy used to search. Default: ‘sa’.
- search_steps (int) – The total steps for searching.
Returns: The best tokens searched.
Return type: list<int>
paddleslim.nas.one_shot.super_mnasnet module¶
-
class
paddleslim.nas.one_shot.super_mnasnet.
SuperMnasnet
(name_scope, input_channels=3, out_channels=1280, repeat_times=[6, 6, 6, 6, 6, 6], stride=[1, 1, 1, 1, 2, 1], channels=[16, 24, 40, 80, 96, 192, 320], use_auxhead=False)¶ Bases:
paddleslim.nas.one_shot.one_shot_nas.OneShotSuperNet
-
get_flops
(input, output, op)¶
-
init_tokens
()¶
-
range_table
()¶
-