Open alanwilter opened 2 years ago
Actually, I don't even need the automlbenchmark/frameworks/oboe/requirements.txt
file, since this line in frameworks/oboe/setup.sh
:
# cat ${HERE}/requirements.txt | sed '/^$/d' | while read -r i; do PIP install --no-cache-dir -U "$i"; done
is not really needed.
The whole issue is frameworks/oboe/exec.py
from oboe.auto_learner import AutoLearner
--> works.
sys.path.append(f"{os.path.realpath(os.path.dirname(__file__))}/lib/oboe/automl")
is wrong since /bench/frameworks/oboe/lib/oboe/automl
does not exist.
Anyway, I still get the same shape error.
Oboe had been inactive for a while, so we kinda abandoned it for official benchmarks, but keeping it in the app, which may not have been a good idea... However, it seems that there's been an official 0.2.0
release end of 2021, so the setup may just be broken. I'll look at it, thanks for raising this.
Out of 20 frameworks, this is the only one failing with my model.
I did look into oboe again and I kind got it to work with your tests but not with mines (always reaching timeout).
You can see my branch https://github.com/alanwilter/oboe
Here's the differences I had to do in OBOE to get it to work:
https://github.com/udellgroup/oboe/compare/master...alanwilter:oboe:master
Then I had to edit https://github.com/openml/automlbenchmark/blob/master/frameworks/oboe/exec.py
diff --git a/frameworks/oboe/exec.py b/frameworks/oboe/exec.py
index 37feebe..0fe773f 100644
--- a/frameworks/oboe/exec.py
+++ b/frameworks/oboe/exec.py
@@ -2,8 +2,7 @@ import logging
import os
import sys
-sys.path.append("{}/lib/oboe/automl".format(os.path.realpath(os.path.dirname(__file__))))
-from auto_learner import AutoLearner
+from oboe.auto_learner import AutoLearner
from frameworks.shared.callee import call_run, result
from frameworks.shared.utils import Timer
@@ -47,7 +46,7 @@ def run(dataset, config):
X_test = dataset.test.X
y_test = dataset.test.y
with Timer() as predict:
- predictions = aml.predict(X_test)
+ predictions = aml.predict(X_test.squeeze())
predictions = predictions.reshape(len(X_test))
if is_classification:
And now:
yes | python runbenchmark.py oboe example test -f 0 -m docker -s force
would work.
In
frameworks/oboe/exec.py
I see:But when running
yes | python3 runbenchmark.py oboe automl_config_docker 1h4c -m docker -i . -s force
it was failing because, well, there is noauto_learner
to load.Don't know if something was missing, but it seems so.
Therefore, I tried this:
oboe
toframeworks/oboe/requirements.txt
from:
to
And now it fails with that:
If you guys have any clue about what to do here, that would be very appreciated.