autogen/test/tune/test_constraints.py
Chi Wang d60d38b3e9
log_file_name in tune.run() (#681)
* log_file_name in tune.run()

* use_ray validates log_file_name

* assert no ray_args when not use_ray

* import os and use os.path
2022-08-15 06:15:31 -07:00

30 lines
905 B
Python

def test_config_constraint():
from flaml import tune
# Test dict return value
def evaluate_config_dict(config):
metric = (round(config["x"]) - 85000) ** 2 - config["x"] / config["y"]
return {"metric": metric}
def config_constraint(config):
if config["y"] >= config["x"]:
return 1
else:
return 0
analysis = tune.run(
evaluate_config_dict,
config={
"x": tune.qloguniform(lower=1, upper=100000, q=1),
"y": tune.qrandint(lower=2, upper=100000, q=2),
},
config_constraints=[(config_constraint, "<", 0.5)],
metric="metric",
mode="max",
num_samples=100,
log_file_name="logs/config_constraint.log",
)
assert analysis.best_config["x"] > analysis.best_config["y"]
assert analysis.trials[0].config["x"] > analysis.trials[0].config["y"]