openml / automlbenchmark

OpenML AutoML Benchmarking Framework
https://openml.github.io/automlbenchmark
MIT License
391 stars 130 forks source link

Error while installing autogluon-tabular[skex] #609

Open liam-sbhoo opened 3 months ago

liam-sbhoo commented 3 months ago

Context: I'm pretty new to automl-benchmark, so I was just trying to run some simple benchmarks according to the documentation. Along this line, I tried running python runbenchmark.py autogluon and I get the following error - the environment seems to fail in installing autogluon-tabular[skex].

Error:

ERROR: Cannot install autogluon-tabular[skex]==0.7.0, autogluon-tabular[skex]==0.8.0, autogluon-tabular[skex]==0.8.1, autogluon-tabular[skex]==0.8.2, autogluon-tabular[skex]==1.0.0 and autogluon-tabular[skex]==1.0.1b20240305 because these package versions have conflicting dependencies.

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
The conflict is caused by:

    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 1.0.0 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.2 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.1 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.8.0 depends on scikit-learn-intelex<2023.2 and >=2021.7; extra == "skex"
    autogluon-tabular[skex] 1.0.1b20240305 depends on scikit-learn-intelex<2024.1 and >=2023.0; extra == "skex"
    autogluon-tabular[skex] 0.7.0 depends on scikit-learn-intelex<2023.1 and >=2021.7; extra == "skex"

To reproduce:

conda create -n benchmark python=3.10
conda activate benchmark
pip install -r requirements.txt
python runbenchmark.py autogluon

System info:

Any guidance and help would be appreciated, thanks!!

PGijsbers commented 3 months ago

Is it possible for you to install autogluon independently of the benchmark? Based on the error message it looks like the conflicts are in the dependency graph of autogluon itself.

liam-sbhoo commented 3 months ago

I tried the following with a fresh conda env. And here goes the result too.

pip install --no-cache-dir autogluon                   # this succeeded
pip install --no-cache-dir 'autogluon.tabular[skex]'   # this failed with the aforementioned error

It is something to do with autogluon dependencies then?

PGijsbers commented 3 months ago

Yes, this seems like an autogluon problem, not an AutoML benchmark one. I suggest opening an issue there.

PGijsbers commented 2 weeks ago

For everyone else (and future documentation): It's an Apple Silicon issue. Reference: https://github.com/autogluon/autogluon/issues/3965

It looks like the script would need to be updated to install through conda for apple silicon. Or maybe without installing skex? We don't officially support MacOS, so we don't really need to change anything per se.

@Innixma what do you think is most sensible here?