ONE - On-device Neural Engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
optimizer.registry.OptimizerRegistry Class Reference

Static Public Member Functions

 create_optimizer (name)
 
 map_optimizer_to_enum (optimizer_instance)
 

Static Protected Attributes

dict _optimizers = {"adam": Adam, "sgd": SGD}
 

Detailed Description

Registry for creating optimizers by name.

Definition at line 6 of file registry.py.

Member Function Documentation

◆ create_optimizer()

optimizer.registry.OptimizerRegistry.create_optimizer (   name)
static
Create an optimizer instance by name.
Args:
    name (str): Name of the optimizer.
Returns:
    BaseOptimizer: Optimizer instance.

Definition at line 13 of file registry.py.

13 def create_optimizer(name):
14 """
15 Create an optimizer instance by name.
16 Args:
17 name (str): Name of the optimizer.
18 Returns:
19 BaseOptimizer: Optimizer instance.
20 """
21 if name not in OptimizerRegistry._optimizers:
22 raise ValueError(
23 f"Unknown Optimizer: {name}. Custom optimizer is not supported yet")
24 return OptimizerRegistry._optimizers[name]()
25

◆ map_optimizer_to_enum()

optimizer.registry.OptimizerRegistry.map_optimizer_to_enum (   optimizer_instance)
static
Maps an optimizer instance to the appropriate enum value.
Args:
    optimizer_instance (Optimizer): An instance of an optimizer.
Returns:
    optimizer_type: Corresponding enum value for the optimizer.
Raises:
    TypeError: If the optimizer_instance is not a recognized optimizer type.

Definition at line 27 of file registry.py.

27 def map_optimizer_to_enum(optimizer_instance):
28 """
29 Maps an optimizer instance to the appropriate enum value.
30 Args:
31 optimizer_instance (Optimizer): An instance of an optimizer.
32 Returns:
33 optimizer_type: Corresponding enum value for the optimizer.
34 Raises:
35 TypeError: If the optimizer_instance is not a recognized optimizer type.
36 """
37 # Optimizer to Enum mapping
38 optimizer_to_enum = {SGD: optimizer_type.SGD, Adam: optimizer_type.ADAM}
39 for optimizer_class, enum_value in optimizer_to_enum.items():
40 if isinstance(optimizer_instance, optimizer_class):
41 return enum_value
42 raise TypeError(
43 f"Unsupported optimizer type: {type(optimizer_instance).__name__}. "
44 f"Supported types are: {list(optimizer_to_enum.keys())}.")

Field Documentation

◆ _optimizers

dict optimizer.registry.OptimizerRegistry._optimizers = {"adam": Adam, "sgd": SGD}
staticprotected

Definition at line 10 of file registry.py.


The documentation for this class was generated from the following file: