ONE - On-device Neural Engine
Loading...
Searching...
No Matches
package.experimental.train.optimizer.registry.OptimizerRegistry Class Reference

Static Public Member Functions

Optimizer create_optimizer (str name)
 
optimizer_type map_optimizer_to_enum (Optimizer optimizer_instance)
 

Static Protected Attributes

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

Detailed Description

Registry for creating optimizers by name.

Definition at line 8 of file registry.py.

Member Function Documentation

◆ create_optimizer()

Optimizer package.experimental.train.optimizer.registry.OptimizerRegistry.create_optimizer ( str  name)
static
Create an optimizer instance by name.

Args:
    name (str): Name of the optimizer.

Returns:
    Optimizer: Optimizer instance.

Definition at line 15 of file registry.py.

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

◆ map_optimizer_to_enum()

optimizer_type package.experimental.train.optimizer.registry.OptimizerRegistry.map_optimizer_to_enum ( Optimizer  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 31 of file registry.py.

31 def map_optimizer_to_enum(optimizer_instance: Optimizer) -> optimizer_type:
32 """
33 Maps an optimizer instance to the appropriate enum value.
34
35 Args:
36 optimizer_instance (Optimizer): An instance of an optimizer.
37
38 Returns:
39 optimizer_type: Corresponding enum value for the optimizer.
40
41 Raises:
42 TypeError: If the optimizer_instance is not a recognized optimizer type.
43 """
44 optimizer_to_enum: Dict[Type[Optimizer], optimizer_type] = {
45 SGD: optimizer_type.SGD,
46 Adam: optimizer_type.ADAM
47 }
48 for cls, enum_val in optimizer_to_enum.items():
49 if isinstance(optimizer_instance, cls):
50 return enum_val
51 raise TypeError(
52 f"Unsupported optimizer type: {type(optimizer_instance).__name__}. "
53 f"Supported types are: {list(optimizer_to_enum.keys())}.")

Field Documentation

◆ _optimizers

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

Definition at line 12 of file registry.py.


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