Skip to content

Support Local Execution for Optimizer #153

@kramaranya

Description

@kramaranya

What you would like to be added?

With the successful release of local execution mode for the TrainingClient, it would be great to extend this capability to the OptimizerClient for optimizing TrainJobs locally without requiring Kubernetes.

from kubeflow.optimizer import OptimizerClient, ContainerBackendConfig, Search, TrialConfig

client = OptimizerClient(backend_config=ContainerBackendConfig())

# Create OptimizationJob with the same template
optimization_id = client.optimize(
    trial_template=template,
    trial_config=TrialConfig(num_trials=10, parallel_trials=2),
    search_space={
        "learning_rate": Search.loguniform(0.001, 0.1),
        "num_epochs": Search.choice([5, 10, 15]),
    },
)

print(f"OptimizationJob created: {optimization_id}")

Running optimization jobs locally would help Data Scientists quickly prototype and validate their tuning strategies before deploying to production without needing to deal with cluster complexity

Why is this needed?

Delivering local execution mode across different clients in Kubeflow SDK, including for optimization models will significantly improve usability.

Love this feature?

Give it a 👍 We prioritize the features with most 👍

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions