ravimohan19 commited on
Commit
2920e7a
·
verified ·
1 Parent(s): 88d6cd1

Upload optimizers/factory.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. optimizers/factory.py +26 -0
optimizers/factory.py ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Factory function to create optimizer backends."""
2
+
3
+ from physics_informed_bo.config import OptimizationConfig, OptimizerBackend
4
+ from physics_informed_bo.optimizers.base_optimizer import BaseOptimizer
5
+ from physics_informed_bo.optimizers.botorch_optimizer import BoTorchOptimizer
6
+ from physics_informed_bo.optimizers.ax_optimizer import AXOptimizer
7
+ from physics_informed_bo.optimizers.bofire_optimizer import BoFireOptimizer
8
+
9
+
10
+ def create_optimizer(config: OptimizationConfig) -> BaseOptimizer:
11
+ """Create an optimizer backend based on the configuration.
12
+
13
+ Args:
14
+ config: Optimization configuration specifying the backend.
15
+
16
+ Returns:
17
+ An initialized optimizer backend.
18
+ """
19
+ if config.backend == OptimizerBackend.BOTORCH:
20
+ return BoTorchOptimizer(config)
21
+ elif config.backend == OptimizerBackend.AX:
22
+ return AXOptimizer(config)
23
+ elif config.backend == OptimizerBackend.BOFIRE:
24
+ return BoFireOptimizer(config)
25
+ else:
26
+ raise ValueError(f"Unsupported backend: {config.backend}")