Closed KEggensperger closed 5 years ago
Hi,
after my last commit, the following error messages will be displayed:
When max_budget < min_budget.
(AutoPyTorchCPU) matthias@matthias-N501JW:~/Schreibtisch/Auto-PyTorch$ python examples/basics/basic_classification.py
Traceback (most recent call last):
File "examples/basics/basic_classification.py", line 17, in <module>
res = autonet.fit(X_train=dm.X, Y_train=dm.Y, X_valid=dm.X_train, Y_valid=dm.Y_train)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/core/api.py", line 107, in fit
self.autonet_config = self.pipeline.get_pipeline_config(**dict(self.base_config, **autonet_config))
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/pipeline/base/pipeline.py", line 104, in get_pipeline_config
c(pipeline_config)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/utils/config/config_condition.py", line 15, in __call__
raise ValueError("Pipeline configuration condition violated: %s" % self.name)
ValueError: Pipeline configuration condition violated: max budget must be greater than or equal to min budget
When max_runtime < max_budget
(AutoPyTorchCPU) matthias@matthias-N501JW:~/Schreibtisch/Auto-PyTorch$ python examples/basics/basic_classification.py
Traceback (most recent call last):
File "examples/basics/basic_classification.py", line 17, in <module>
res = autonet.fit(X_train=dm.X, Y_train=dm.Y, X_valid=dm.X_train, Y_valid=dm.Y_train)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/core/api.py", line 107, in fit
self.autonet_config = self.pipeline.get_pipeline_config(**dict(self.base_config, **autonet_config))
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/pipeline/base/pipeline.py", line 104, in get_pipeline_config
c(pipeline_config)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/utils/config/config_condition.py", line 15, in __call__
raise ValueError("Pipeline configuration condition violated: %s" % self.name)
ValueError: Pipeline configuration condition violated: When time is used as budget, the max_runtime must be larger than the max_budget
When results.json is empty after fit, for some other reason (e.g. budget_type is epochs, but max_runtime is too small)
(AutoPyTorchCPU) matthias@matthias-N501JW:~/Schreibtisch/Auto-PyTorch$ python examples/basics/basic_classification.py
09:44:29 WORKER: start listening for jobs
09:44:29 [AutoNet] Start bohb
09:44:29 DISPATCHER: started the 'discover_worker' thread
09:44:29 DISPATCHER: started the 'job_runner' thread
09:44:29 DISPATCHER: Pyro daemon running on 10.126.76.153:34499
09:44:29 DISPATCHER: discovered new worker, hpbandster.run_0.worker.matthias-N501JW.16799.-1140147219736384
09:44:29 HBMASTER: starting run at 1548492269.510589
09:44:29 HBMASTER: adjusted queue size to (0, 1)
09:44:29 HBMASTER: Timelimit reached: wait for remaining 0 jobs
09:44:29 DISPATCHER: Dispatcher shutting down
09:44:29 DISPATCHER: shut down complete
Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.
Traceback (most recent call last):
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 207, in parse_results
res = logged_results_to_HBS_result(result_logger_dir)
File "/home/matthias/miniconda3/envs/AutoPyTorchCPU/lib/python3.7/site-packages/hpbandster/core/result.py", line 194, in logged_results_to_HBS_result
'min_budget' : min(budget_set),
ValueError: min() arg is an empty sequence
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 103, in fit
res = self.parse_results(pipeline_config["result_logger_dir"])
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 211, in parse_results
raise RuntimeError("Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.")
RuntimeError: Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.
Traceback (most recent call last):
File "examples/basics/basic_classification.py", line 17, in <module>
res = autonet.fit(X_train=dm.X, Y_train=dm.Y, X_valid=dm.X_train, Y_valid=dm.Y_train)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/core/api.py", line 116, in fit
self.refit(X_train, Y_train, X_valid, Y_valid, self.optimized_hyperparameter_config, self.autonet_config)
File "/home/matthias/Schreibtisch/Auto-PyTorch/autoPyTorch/core/api.py", line 142, in refit
assert len(hyperparameter_config) > 0, "You have to specify a non-empty hyperparameter config for refit. Probably something went wrong in fit."
AssertionError: You have to specify a non-empty hyperparameter config for refit. Probably something went wrong in fit.
Cheers,
Matthias
The first two messages look good. Could also replace the last message with something like: "No models fit during training, please retry with a larger budget."
Hi,
the following will now be displayed on develop:
13:00:46 DISPATCHER: job_runner shutting down
13:00:46 DISPATCHER: 'discover_worker' thread exited
13:00:46 DISPATCHER: 'job_runner' thread exited
13:00:46 DISPATCHER: shut down complete
Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.
Traceback (most recent call last):
File "/home/matthias/Dokumente/Uni/automl_Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 210, in parse_results
res = logged_results_to_HBS_result(result_logger_dir)
File "/home/matthias/miniconda3/envs/AutoPyTorchCPU/lib/python3.7/site-packages/hpbandster/core/result.py", line 194, in logged_results_to_HBS_result
'min_budget' : min(budget_set),
ValueError: min() arg is an empty sequence
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/matthias/Dokumente/Uni/automl_Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 105, in fit
res = self.parse_results(pipeline_config["result_logger_dir"])
File "/home/matthias/Dokumente/Uni/automl_Auto-PyTorch/autoPyTorch/pipeline/nodes/optimization_algorithm.py", line 214, in parse_results
raise RuntimeError("Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.")
RuntimeError: Error parsing results. Check results.json and output for more details. An empty results.json is usually caused by a misconfiguration of AutoNet.
Traceback (most recent call last):
File "examples/basics/basic_classification.py", line 17, in <module>
res = autonet.fit(X_train=dm.X, Y_train=dm.Y, cross_validator="k_fold", cross_validator_args={"n_splits": 3})
File "/home/matthias/Dokumente/Uni/automl_Auto-PyTorch/autoPyTorch/core/api.py", line 113, in fit
raise RuntimeError("No models fit during training, please retry with a larger max_runtime.")
RuntimeError: No models fit during training, please retry with a larger max_runtime.
Thanks
When setting the max_budget > max_runtime and setting the budget to runtime the program crashes (logically), but the error messages is non descriptive:
KeyError: 'Imputation:strategy'
results in