Scikit-learn: Ich verstehe nicht, wie man mit Anaconda / MKL baut

Erstellt am 29. Juli 2015  ·  36Kommentare  ·  Quelle: scikit-learn/scikit-learn

Wenn ich Anaconda mit MKL verwende und versuche, Sklearn zu bauen, bekomme ich

Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

Kann jemand erklären, was passiert / wie man baut?

Hilfreichster Kommentar

conda install numpy
Fehler bei mir behoben

Alle 36 Kommentare

wie hast du es iinstalliert?

Es ist ziemlich automatisch, da ich für mich nur eine Lizenzdatei hinzufügen und ausführen muss
Conda-Upgrade (oder so ähnlich)

Das habe ich auch gemacht, und das macht mich mit mkl fertig. Aber wenn ich dann versuche, sklearn zu kompilieren, bekomme ich beim Import Verknüpfungsfehler.

hm, ich weiß es nicht. Vielleicht ein Konflikt mit Ihrer lokalen Python und Anaconda
während der Einrichtung :(

hm, muss ich vielleicht LD_LIBRARY_PATH oder so einstellen?

Ich habe meine auf so etwas eingestellt wie

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/u/kkastne/miniconda/lib/

obwohl das Bestellen wichtig sein kann, wenn es andere Bibliotheken von anderen findet
Python wird zuerst installiert.

Am Mi, 29.07.2015 um 17:01 Uhr, Andreas Mueller [email protected]
schrieb:

hm, muss ich vielleicht LD_LIBRARY_PATH oder so einstellen?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -126094651
.

es war eine Kombination aus System numpy und LD_LIBRARY_PATH... immer viel Spaß.... sorry für den Lärm.

Ich habe das gleiche Problem. @amueller Noob-Frage: Wo

Ich habe das gleiche Problem, indem ich pyinstaller in Anaconda verwende, um mein Programm zu kompilieren. Wenn ich es auf bestimmten Maschinen ausführe, löst es den oben genannten Fehler aus. In meinem Fall sehe ich, wenn ich $LD_LIBRARY_PATH echoe, einige Pfade, die unser Systemmanager für einige Programme festgelegt hat. Ich habe versucht, es auf den Anaconda-Lib-Pfad zu setzen und es leer zu lassen, aber es erzeugt weiterhin den Fehler.

Ich glaube, es ist ein neuer Fehler aufgetreten, ich habe ihn gerade in einer Travis-Instanz erhalten.

Wann tritt Ihr Problem auf? Denn in meinem Fall konnte ich mit conda install numpy installieren und bekam keine Fehlermeldungen. Danach habe ich mit pyinstaller erfolgreich eine Ein-Datei-Binärdatei generiert. Wenn die ausführbare Datei tatsächlich verwendet wird, löst irgendwann ein Aufruf von Biopython-Code den Fehler aus. Ich nehme an, Sie haben das Problem auch beim Testen des Codes zur Laufzeit, oder?

Wenn ich meine Conda-Installation überprüfe, sind sowohl libmkl_avx2.so als auch libmkl_def.so im Ordner $home/anaconda2/lib vorhanden. Ich habe auch versucht, die Dateien als Binärdateien in die pyintaller-Spezifikationsdatei hinzuzufügen, aber nichts davon funktioniert ...

Ich glaube, es ist ein neuer Fehler aufgetreten, ich habe ihn gerade in einer Travis-Instanz erhalten.

@amueller Ich habe diesen Fehler gesehen:

Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.

auch auf Travis. Soweit ich feststellen konnte, lag es daran, dass numpy 1.10.2 einige mkl-Sachen fehlte. numpy 1.10.4 war in Ordnung. Dies wurde in https://github.com/scikit-learn/scikit-learn/pull/6508#issuecomment -194908920 vermerkt.

Fürs Protokoll musste ich nie LD_LIBRARY_PATH setzen, um Scikit-Learn mit Anaconda (mit oder ohne MKL) zu erstellen.

@clacri hängt Ihr Problem überhaupt mit scikit-learn zusammen? Wenn nicht, sollten Sie Ihre Frage entweder an den Pyinstaller oder an die Biopython-Leute stellen ...

Soweit ich feststellen konnte, lag es daran, dass numpy 1.10.2 einige mkl-Sachen fehlte.

Hier ist ein Ausschnitt, der das Problem auf meinem Computer reproduziert:

conda create -n mkl --yes python=3.5 pip nose numpy=1.10.2 scipy=0.16.1 cython=0.23.4 mkl
. activate mkl
cd ~/dev/scikit-learn
make in
python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL FATAL ERROR: Cannot load libmkl_mc3.so or libmkl_def.so.

Nein, du hast recht. Ich sollte auf ihrer Problemliste posten. Ich habe nur gesehen, dass der hier angegebene Fehler derselbe war und auch bei der Verwendung von Anaconda, also dachte ich, dass es damit zusammenhängen könnte. Ich habe bereits nach dem pyinstaller-Projekt gefragt, da es ein ähnliches Problem mit anderen mkl-Bibliotheken zu haben scheint. Jedenfalls habe ich meine numpy-Version in Anaconda überprüft und sie ist 1.10.4. Danke trotzdem :)

Nur fürs Protokoll, beim Durchsuchen Ihres referenzierten Kommentars habe ich den Beitrag im Anaconda-Blog gefunden, in dem beschrieben wird, wie die mkl-Versionen der Bibliotheken deaktiviert werden (https://www.continuum.io/blog/developer-blog/anaconda-25 .). -release-now-mkl-optimizations) und jetzt kann ich wenigstens eine funktionierende Version kompilieren. Danke!

Wegen des gleichen Problems bei mir deaktiviere ich mkl durch conda install nomkl. Ich bin jetzt glücklich. Wenn dieses Problem behoben ist, teilen Sie uns dies bitte mit, damit ich es wieder einschalten kann. Vielen Dank für die Erläuterung dieses Problems.

Gleiches Problem

Bin dem Link oben gefolgt und habe mein Problem gelöst. Danke.

Zumindest für mich war es jetzt gelöst. Sie können es mit dem neuen numpy 11 versuchen.
Am Mittwoch, den 27. April 2016 um 22:42 Uhr schrieb gjzhu [email protected] :

Gleiches Problem. Weiß nicht wie ich damit umgehen soll.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -215292024

Sungjin (James) Kim, PhD

Postdoc, CCB in Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[alternative E-Mail] jamessungjin. [email protected]

conda install numpy
Fehler bei mir behoben

Gut. Bei mir funktioniert es auch, wie bereits erwähnt.

Am Dienstag, den 3. Mai 2016 um 11:26 Uhr schrieb alinabee [email protected] :

conda installiere numpy
Fehler bei mir behoben


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -216563766

Sungjin (James) Kim, PhD

Postdoc, CCB in Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[alternative E-Mail] jamessungjin. [email protected]

Hallo,

Ich wollte nur anmerken, dass Anaconda 4.0.0, das standardmäßig mit aktiviertem mkl ausgeliefert wird, dieses Problem hat.
Das Problem liegt tatsächlich bei Anaconda, da es mit dem oben von @pcgreat vorgeschlagenen Python-Sklearn-Test reproduziert werden kann.

Das eigentliche Problem ist, dass Anaconda mit mkl verknüpft ist, aber nicht mit libmkl_core.so, daher hat es ein fehlendes Symbol und kann durch Ausführen angezeigt werden:

$ LD_DEBUG=symbols python -c 'import sklearn.linear_model.tests.test_randomized_l1' 2>&1 | grep -i error
      2200:     /opt/anaconda/lib/python2.7/site-packages/scipy/special/../../../../libmkl_avx.so: error: symbol lookup error: undefined symbol: mkl_dft_fft_fix_twiddle_table_32f (fatal)

Ich wollte mkl nicht deinstallieren, da ich eine Leistungssteigerung hätte, also habe ich einen Workaround gefunden, der für mich funktioniert hat - libmkl_core.so vor der Ausführung vorladen.

$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so.
$
$ LD_PRELOAD=/opt/anaconda/lib/libmkl_core.so python -c 'import sklearn.linear_model.tests.test_randomized_l1'
$

Grüße,
Yanir.

Es ist so wunderbar Lösungsgedanke.

Am Mittwoch, den 11. Mai 2016 um 7:00 Uhr schrieb yanirj [email protected] :

Hallo,

Wollte nur anmerken, dass Anaconda 4.0.0 mit aktiviertem mkl ausgeliefert wird
Standard, hat dieses Problem.
Das Problem liegt tatsächlich bei Anaconda, da es mit dem reproduziert werden kann
Python-Sklearn-Test oben vorgeschlagen von @pcgreat
https://github.com/pcgreat.

Das eigentliche Problem ist, dass Anaconda mit mkl verknüpft ist, aber nicht mit
libmkl_core.so, daher hat es ein fehlendes Symbol und kann durch Ausführen von:

$ LD_DEBUG=Symbole Python -c 'import sklearn.linear_model.tests.test_randomized_l1' 2>&1 | grep -i Fehler
2200: /opt/anaconda/lib/python2.7/site-packages/scipy/special/../../../../libmkl_avx.so: error: symbol lookup error: undefined symbol: mkl_dft_fft_fix_twiddle_table_32f (fatal)

Ich wollte mkl nicht deinstallieren, da ich den Performance-Boost haben möchte,
Also habe ich einen Workaround gefunden, der für mich funktioniert hat - libmkl_core.so vorher laden
die Ausführung.

$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL SCHWERER FEHLER: libmkl_avx.so oder libmkl_def.so kann nicht geladen werden.
$

$ LD_PRELOAD=/opt/anaconda/lib/libmkl_core.so python -c 'import sklearn.linear_model.tests.test_randomized_l1'
$

Grüße,
Yanir.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/scikit-learn/scikit-learn/issues/5046#issuecomment -218427199

Sungjin (James) Kim, PhD

Postdoc, CCB in Harvard

[email protected]

[Web] http://aspuru.chem.harvard.edu/james-sungjin-kim/

[Linkedin] https://www.linkedin.com/in/jamessungjinkim

[Facebook] https://www.facebook.com/jamessungjin.kim

[alternative E-Mail] jamessungjin. [email protected]

Ich hatte das gleiche Problem, obwohl ich die neuesten verfügbaren Pakete verwendet habe. Es stellte sich heraus, dass die Lösung einfacher war, als ich dachte: Aus irgendeinem Grund hat Anaconda die MKL-fähigen Versionen des numpy/scipy-Stacks installiert, aber mkl selbst nicht installiert. Ich habe dies beim Erstellen von Docker-Images basierend auf dem minimalen Notebook-Stack von Jupyter gesehen .

Ein einfaches conda install --yes mkl mkl-service es für mich gelöst.

Ich habe ein Ipython-Terminal mit vorgeladener Bibliothek geöffnet und bin auf den folgenden Fehler gestoßen, wenn ich eine der PCA-Routinen ausführe.
:
/home/rp2801/anaconda2/bin/python: Symbolsuchfehler: /home/rp2801/anaconda2/lib/libmkl_core.so: undefiniertes Symbol: mkl_serv_get_max_threads
Ich habe mein Ipython-Terminal geöffnet als
$ LD_PRELOAD=/path/to/libmkl_core.so ipython

Ich bekam den gleichen Fehler. Eine Alternative zum Entfernen von MKL-Umschaltung auf frühere cvxopt-Builds hat das Problem auch für mich gelöst:

conda install cvxopt=1.1.8=py35_0

Ich löse das Problem erfolgreich, dies ist das Tutorial https://docs.continuum.io/mkl-optimizations/
der Befehl:
conda update conda
conda aktualisieren anaconda
conda update mkl

Ich stellte fest, dass ich unter numpy: 1.11.2 das gleiche Problem hatte, das reproduziert werden konnte von
$ python -c 'import sklearn.linear_model.tests.test_randomized_l1'
Intel MKL SCHWERER FEHLER: libmkl_avx.so oder libmkl_def.so kann nicht geladen werden.

Nach dem Downgrade von numpy auf 1.11.1 ist dieser Fehler verschwunden.
conda install numpy=1.11.1
Die folgenden Pakete werden aufgrund von Abhängigkeitskonflikten DOWNGRADED:
numpy: 1.11.2-py35_0 --> 1.11.1-py35_0
Fortfahren ([y]/n)? ja

Hinzufügen
importiere numpy als np
am Anfang des Skripts das Problem gelöst :-)

Wollte MKL nicht mit nomkl deaktivieren.
Hinzufügen

import mkl
mkl.get_max_threads()

Hat dieses Problem für mich gelöst.

conda install numpy
hat das Problem für mich gelöst.

conda install -c intel mkl

Hat bei mir funktioniert

conda installiere numpy
hat das Problem bei mir auch gelöst.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen