1234567891011121314151617181920212223242526272829303132333435 |
- # From https://docs.ray.io/en/latest/tune/index.html
- import ray
- from ray import train, tune
- def objective(step, alpha, beta):
- return (0.1 + alpha * step / 100) ** (-1) + beta * 0.1
- def training_function(config):
- # Hyperparameters
- alpha, beta = config["alpha"], config["beta"]
- for step in range(10):
- # Iterative training function - can be any arbitrary training procedure.
- intermediate_score = objective(step, alpha, beta)
- # Feed the score back back to Tune.
- train.report(dict(mean_loss=intermediate_score))
- ray.init(address="auto")
- print("Starting Ray Tune job")
- analysis = tune.run(
- training_function,
- config={
- "alpha": tune.grid_search([0.001, 0.01, 0.1]),
- "beta": tune.choice([1, 2, 3]),
- },
- )
- print("Best config: ", analysis.get_best_config(metric="mean_loss", mode="min"))
- # Get a dataframe for analyzing trial results.
- df = analysis.results_df
- print(df)
|