Cannot reshape array of size 0 into shape (0,newaxis)
### Description The error `cannot reshape array of size 0 into shape (0,newaxis)` shows up when trying to execute the following config on cartpole. ``` name | predicates | determinize | impurity | safe-pruning ----------------+-------------------+---------------+------------+---------------- another-config | ['linear-logreg'] | minnorm | entropy | False ``` On investigation, it turns out that the `check_done(dataset.x, y)` on line 120 of `decision_tree.py` is being called with both parameters being the empty list. ### Stacktrace ``` Traceback (most recent call last): File "./dtcontrol/dtcontrol/benchmark_suite.py", line 95, in benchmark cell, computed = self.compute_cell(ds, classifier) File "./dtcontrol/dtcontrol/benchmark_suite.py", line 132, in compute_cell cell = self.train_and_get_cell(dataset, classifier) File "./dtcontrol/dtcontrol/benchmark_suite.py", line 141, in train_and_get_cell classifier, success, run_time = call_with_timeout(classifier, 'fit', dataset, timeout=self.timeout) File "./dtcontrol/dtcontrol/timeout.py", line 51, in call_with_timeout getattr(obj, method)(*args) File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 46, in fit self.root.fit(dataset) File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 133, in fit node.fit(subset) File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 133, in fit node.fit(subset) File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 133, in fit node.fit(subset) [Previous line repeated 20 more times] File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 120, in fit if self.check_done(dataset.x, y): File "./dtcontrol/dtcontrol/decision_tree/decision_tree.py", line 147, in check_done unique_data = np.unique(x, axis=0) File "<__array_function__ internals>", line 6, in unique File "./dtcontrol/venv/lib/python3.7/site-packages/numpy/lib/arraysetops.py", line 275, in unique ar = ar.reshape(orig_shape[0], -1) ValueError: cannot reshape array of size 0 into shape (0,newaxis) ``` ### Reproducibility First run `python cli.py preset --sample > ../user-config.yml` from inside the `dtcontrol` folder to create a `user-config.yml` file in the root. Then run `python cli.py --input ../examples/cartpole.scs --use-preset another-config --config ../user-config.yml`.
issue

LRZ Homepage | Datenschutz | Dokumentation und Betriebsbedingungen | Impressum