Wie, um das Setup LIBSVM für Python
Baute ich libsvm auf Mac OS X mit Stellen.
$ tar xzfv libsvm-3.17.tar.gz
$ cd libsvm-3.17
$ make
Dieser baute die verschiedenen libsvm binaries:
$ ls
COPYRIGHT heart_scale svm-predict.c svm-train.c tools
FAQ.html java svm-scale svm.cpp windows
Makefile matlab svm-scale.c svm.def
Makefile.win python svm-toy svm.h
README svm-predict svm-train svm.o
Ich auch mit diesem in /usr/local
:
$ ls -la /usr/local/
...
svm -> /usr/local/libsvm-3.17/
Angehängt und die Python-bindings zu meinem Weg:
import sys
sys.path.append('/usr/local/svm/python')
Aber die Python-bindings nicht finden können, der "LIBSVM" - Bibliothek:
$ python test.py
Traceback (most recent call last):
File "test.py", line 8, in <module>
import svmutil
File "/usr/local/svm/python/svmutil.py", line 5, in <module>
from svm import *
File "/usr/local/svm/python/svm.py", line 22, in <module>
raise Exception('LIBSVM library not found.')
Exception: LIBSVM library not found.
Kann mir jemand sagen, wie diese eingerichtet? In der python-readme für libsvm ist die einzige Beschreibung ist
Installation
============
On Unix systems, type
> make
The interface needs only LIBSVM shared library, which is generated by
the above command. We assume that the shared library is on the LIBSVM
main directory or in the system path.
Was bin ich?
- Anmerkung: statt kompilieren von Programmen selbst, die Sie möglicherweise verwenden möchten, ein Paket-manager wie die sehr gute MacPorts-manager: Paket-maintainer haben gelöst Zusammenstellung Probleme für Sie. 🙂
- Ich hatte das gleiche problem unter einem 64bit Unix-Umgebung (64-bit-Python-installation). In meinem Fall versuche die 64bit von Liblinear das problem gelöst.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt durch libsvm, um den Zugriff mit Python (habe ich installiert libsvm durch MacPorts, und
import svmutil
ausfällt), installieren Sie ggf. den beliebten scikit-learn Paket enthält eine optimierte version des libsvm mit Python-bindings.Die Installation ist sehr einfach mit MacPorts:
sudo port install py27-scikit-learn
(Anpassungpy27
zu welcher version von Python geben, die Sie verwenden).sudo port install py27-scikit-learn
sollten herunterladen und installieren alles für Sie, einschließlich Scipy, automatisch. Sie müssen nicht, etwas anderes zu tun (einmal MacPorts ist das setup wie ich es angegeben).Scheint wie ein alt-thread. Hoffe es hilft jemand anderem in der Zukunft.
Ich hatte das gleiche problem. Die Lösung ist
make
im libsvm-3.0-Verzeichnismake
im libsvm-3.0/python-VerzeichnisWenn Sie nicht nur bei der libsvm-3.0 Ordner, den Sie Gesicht dieses Problem. Tun Sie es in beide Ordner. Dann wird es funktionieren.
In Fall müssen Sie eine nicht-MacPorts-Lösung finden Sie auf dieser Seite (vor allem der Kommentar von Thanassis):
Die Installation von libsvm-3.0 für Python unter OSX 10.6
Trotz der Titel der post, die Lösung hat bei mir auf einem CentOS Maschine mit python 2.7.
find_library in python ist nur die Suche auf Dateien mit einer Erweiterung .so. Damit dies korrekt funktioniert, müssen Sie erstellen eine libsvm.also:
% ln -s libsvm.so.2 libsvm.so
Dann versuchen, diese wieder, funktioniert es korrekt.
Brauchen Sie nicht zu verwenden, scikit lernen, um libSVM. Ich hatte das gleiche Problem beim laden der
libsvm
Module mittels python. Ich geklont das Projekt von github, und führen Sie es bauen von der Kommandozeile mitmake
, und nach der Einstellung der Umgebung, ich habe den gleichen Fehler.Ich das Problem durch installieren von libSVM durch
homebrew
:brew install libsvm
Diese beinhalten nicht die python-spezifische Binärdateien, so dass Sie würde immer noch zu Klonen und machen aus github und richten Sie die Umgebung.
Sollte man /python und stellen zu generieren .so.1 Datei
können Sie auch versuchen, homebrew zu installieren, die libsvm wie 'brew install libsvm',dann Sie können öffnen Sie Ihr Projekt-Datei, und kopieren Sie die 'svmutil.py' und 'svm.py' Dateien zum Projekt floder,dann können Sie den Befehl 'aus svmutil import *',und vielleicht wird es ok sein.