chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# flake8: noqa
|
||||
|
||||
# fmt: off
|
||||
# __step1_begin__
|
||||
from ray import tune
|
||||
import ray
|
||||
import os
|
||||
|
||||
NUM_MODELS = 100
|
||||
|
||||
def train_model(config):
|
||||
score = config["model_id"]
|
||||
|
||||
# Import model libraries, etc...
|
||||
# Load data and train model code here...
|
||||
|
||||
# Return final stats. You can also return intermediate progress
|
||||
# using ray.tune.report() if needed.
|
||||
# To return your model, you could write it to storage and return its
|
||||
# URI in this dict, or return it as a Tune Checkpoint:
|
||||
# https://docs.ray.io/en/latest/tune/tutorials/tune-checkpoints.html
|
||||
return {"score": score, "other_data": ...}
|
||||
# __step1_end__
|
||||
|
||||
# __step2_begin__
|
||||
# Define trial parameters as a single grid sweep.
|
||||
trial_space = {
|
||||
# This is an example parameter. You could replace it with filesystem paths,
|
||||
# model types, or even full nested Python dicts of model configurations, etc.,
|
||||
# that enumerate the set of trials to run.
|
||||
"model_id": tune.grid_search([
|
||||
"model_{}".format(i)
|
||||
for i in range(NUM_MODELS)
|
||||
])
|
||||
}
|
||||
# __step2_end__
|
||||
|
||||
# __step3_begin__
|
||||
# Can customize resources per trial, here we set 1 CPU each.
|
||||
train_model = tune.with_resources(train_model, {"cpu": 1})
|
||||
# __step3_end__
|
||||
|
||||
# __step4_begin__
|
||||
# Start a Tune run and print the best result.
|
||||
tuner = tune.Tuner(train_model, param_space=trial_space)
|
||||
results = tuner.fit()
|
||||
|
||||
# Access individual results.
|
||||
print(results[0])
|
||||
print(results[1])
|
||||
print(results[2])
|
||||
# __step4_end__
|
||||
|
||||
# __tasks_begin__
|
||||
remote_train = ray.remote(train_model)
|
||||
futures = [remote_train.remote({"model_id": i}) for i in range(NUM_MODELS)]
|
||||
print("Submitting tasks...")
|
||||
results = ray.get(futures)
|
||||
print("Trial results", results)
|
||||
# __tasks_end__
|
||||
Reference in New Issue
Block a user