|
|
@ -1,12 +1,28 @@
|
|
|
|
diff -up ./java/test_applet.html.orig ./java/test_applet.html
|
|
|
|
diff -up ./FAQ.html.orig ./FAQ.html
|
|
|
|
--- ./java/test_applet.html.orig 2003-07-12 14:06:55.000000000 +1000
|
|
|
|
diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
|
|
|
|
+++ ./java/test_applet.html 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
|
|
|
|
@@ -1 +1,3 @@
|
|
|
|
diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
|
|
|
|
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
|
|
|
|
--- ./java/libsvm/svm_model.java.orig 2007-01-13 08:23:39.000000000 +1000
|
|
|
|
+<html>
|
|
|
|
+++ ./java/libsvm/svm_model.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet>
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
+</html>
|
|
|
|
package libsvm;
|
|
|
|
diff -up ./java/svm_train.java.orig ./java/svm_train.java
|
|
|
|
public class svm_model implements java.io.Serializable
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ static final long serialVersionUID = 2709444323471798245L;
|
|
|
|
|
|
|
|
svm_parameter param; // parameter
|
|
|
|
|
|
|
|
int nr_class; // number of classes, = 2 in regression/one class svm
|
|
|
|
|
|
|
|
int l; // total #SV
|
|
|
|
|
|
|
|
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
|
|
|
|
|
|
|
|
--- ./java/libsvm/svm_node.java.orig 2003-10-11 22:30:47.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./java/libsvm/svm_node.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -1,6 +1,7 @@
|
|
|
|
|
|
|
|
package libsvm;
|
|
|
|
|
|
|
|
public class svm_node implements java.io.Serializable
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ static final long serialVersionUID = 2709444323471798245L;
|
|
|
|
|
|
|
|
public int index;
|
|
|
|
|
|
|
|
public double value;
|
|
|
|
|
|
|
|
}
|
|
|
|
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
|
|
|
|
diff -up ./java/libsvm/svm_parameter.java.orig ./java/libsvm/svm_parameter.java
|
|
|
|
--- ./java/libsvm/svm_parameter.java.orig 2006-03-04 01:44:14.000000000 +1000
|
|
|
|
--- ./java/libsvm/svm_parameter.java.orig 2006-03-04 01:44:14.000000000 +1000
|
|
|
|
+++ ./java/libsvm/svm_parameter.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+++ ./java/libsvm/svm_parameter.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
@ -29,30 +45,6 @@ diff -up ./java/libsvm/svm_problem.java.orig ./java/libsvm/svm_problem.java
|
|
|
|
public int l;
|
|
|
|
public int l;
|
|
|
|
public double[] y;
|
|
|
|
public double[] y;
|
|
|
|
public svm_node[][] x;
|
|
|
|
public svm_node[][] x;
|
|
|
|
diff -up ./java/libsvm/svm_node.java.orig ./java/libsvm/svm_node.java
|
|
|
|
|
|
|
|
--- ./java/libsvm/svm_node.java.orig 2003-10-11 22:30:47.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./java/libsvm/svm_node.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -1,6 +1,7 @@
|
|
|
|
|
|
|
|
package libsvm;
|
|
|
|
|
|
|
|
public class svm_node implements java.io.Serializable
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ static final long serialVersionUID = 2709444323471798245L;
|
|
|
|
|
|
|
|
public int index;
|
|
|
|
|
|
|
|
public double value;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
diff -up ./java/libsvm/svm.m4.orig ./java/libsvm/svm.m4
|
|
|
|
|
|
|
|
diff -up ./java/libsvm/svm_model.java.orig ./java/libsvm/svm_model.java
|
|
|
|
|
|
|
|
--- ./java/libsvm/svm_model.java.orig 2007-01-13 08:23:39.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./java/libsvm/svm_model.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -4,6 +4,7 @@
|
|
|
|
|
|
|
|
package libsvm;
|
|
|
|
|
|
|
|
public class svm_model implements java.io.Serializable
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
+ static final long serialVersionUID = 2709444323471798245L;
|
|
|
|
|
|
|
|
svm_parameter param; // parameter
|
|
|
|
|
|
|
|
int nr_class; // number of classes, = 2 in regression/one class svm
|
|
|
|
|
|
|
|
int l; // total #SV
|
|
|
|
|
|
|
|
diff -up ./java/libsvm/svm.java.orig ./java/libsvm/svm.java
|
|
|
|
|
|
|
|
diff -up ./java/Makefile.orig ./java/Makefile
|
|
|
|
diff -up ./java/Makefile.orig ./java/Makefile
|
|
|
|
--- ./java/Makefile.orig 2007-11-11 22:17:30.000000000 +1000
|
|
|
|
--- ./java/Makefile.orig 2007-11-11 22:17:30.000000000 +1000
|
|
|
|
+++ ./java/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+++ ./java/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
@ -107,6 +99,8 @@ diff -up ./java/Makefile.orig ./java/Makefile
|
|
|
|
|
|
|
|
|
|
|
|
dist: clean all
|
|
|
|
dist: clean all
|
|
|
|
rm *.class libsvm/*.class
|
|
|
|
rm *.class libsvm/*.class
|
|
|
|
|
|
|
|
diff -up ./java/svm_predict.java.orig ./java/svm_predict.java
|
|
|
|
|
|
|
|
diff -up ./java/svm_scale.java.orig ./java/svm_scale.java
|
|
|
|
diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
|
|
|
|
diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
|
|
|
|
--- ./java/svm_toy.java.orig 2007-07-01 23:02:51.000000000 +1000
|
|
|
|
--- ./java/svm_toy.java.orig 2007-07-01 23:02:51.000000000 +1000
|
|
|
|
+++ ./java/svm_toy.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+++ ./java/svm_toy.java 2008-04-01 16:17:52.000000000 +1000
|
|
|
@ -127,122 +121,15 @@ diff -up ./java/svm_toy.java.orig ./java/svm_toy.java
|
|
|
|
AppletFrame(String title, Applet applet, int width, int height)
|
|
|
|
AppletFrame(String title, Applet applet, int width, int height)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
super(title);
|
|
|
|
super(title);
|
|
|
|
diff -up ./java/svm_predict.java.orig ./java/svm_predict.java
|
|
|
|
diff -up ./java/svm_train.java.orig ./java/svm_train.java
|
|
|
|
diff -up ./java/svm_scale.java.orig ./java/svm_scale.java
|
|
|
|
diff -up ./java/test_applet.html.orig ./java/test_applet.html
|
|
|
|
diff -up ./svm.h.orig ./svm.h
|
|
|
|
--- ./java/test_applet.html.orig 2003-07-12 14:06:55.000000000 +1000
|
|
|
|
diff -up ./python/cross_validation.py.orig ./python/cross_validation.py
|
|
|
|
+++ ./java/test_applet.html 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
diff -up ./python/svmc_wrap.c.orig ./python/svmc_wrap.c
|
|
|
|
@@ -1 +1,3 @@
|
|
|
|
diff -up ./python/svm_test.py.orig ./python/svm_test.py
|
|
|
|
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
|
|
|
|
diff -up ./python/Makefile.orig ./python/Makefile
|
|
|
|
+<html>
|
|
|
|
--- ./python/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet>
|
|
|
|
+++ ./python/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+</html>
|
|
|
|
@@ -2,9 +2,16 @@ CXX? = g++
|
|
|
|
|
|
|
|
SWIG ?= swig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Windows: see ../README ../Makefile.win
|
|
|
|
|
|
|
|
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
|
|
|
|
|
|
|
|
+#PYTHON_TEMP:=${shell mktemp}
|
|
|
|
|
|
|
|
+#PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
|
|
|
|
|
|
|
|
+ifndef PYTHON_INCLUDEDIR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
|
|
|
|
|
|
|
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+endif
|
|
|
|
|
|
|
|
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+CFLAGS_PYTHON = ${CFLAGS} -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
|
|
|
|
|
|
|
LDFLAGS = -shared
|
|
|
|
|
|
|
|
# Mac OS
|
|
|
|
|
|
|
|
# LDFLAGS = -framework Python -bundle
|
|
|
|
|
|
|
|
@@ -15,16 +22,34 @@ svmc.so: svmc_wrap.o svm.o
|
|
|
|
|
|
|
|
$(CXX) $(LDFLAGS) -o svmc.so svmc_wrap.o svm.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svmc_wrap.o: svmc_wrap.c ../svm.h
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) -fPIC -c svmc_wrap.c
|
|
|
|
|
|
|
|
+# echo "PYTHON_VERSION=${PYTHON_VERSION}"
|
|
|
|
|
|
|
|
+# echo "CFLAGS=${CFLAGS}"
|
|
|
|
|
|
|
|
+# echo "CFLAGS_PYTHON=${CFLAGS_PYTHON}"
|
|
|
|
|
|
|
|
+ $(CXX) $(CFLAGS_PYTHON) -fPIC -c svmc_wrap.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svmc_wrap.c: svmc.i
|
|
|
|
|
|
|
|
$(SWIG) -python -noproxy svmc.i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svm.o: ../svm.cpp ../svm.h
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) -fPIC -c ../svm.cpp
|
|
|
|
|
|
|
|
+ $(CXX) $(CFLAGS_PYTHON) -fPIC -c ../svm.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
|
|
|
rm -f *~ *.o *.so *.pyc *.pyo svm.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
moreclean: clean
|
|
|
|
|
|
|
|
rm -f svmc_wrap.c
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+install: all
|
|
|
|
|
|
|
|
+ mkdir -p ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 644 *.i ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 *.so ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+uninstall:
|
|
|
|
|
|
|
|
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
diff -up ./python/test_cross_validation.py.orig ./python/test_cross_validation.py
|
|
|
|
|
|
|
|
diff -up ./python/svm.py.orig ./python/svm.py
|
|
|
|
|
|
|
|
diff -up ./tools/subset.py.orig ./tools/subset.py
|
|
|
|
|
|
|
|
diff -up ./tools/checkdata.py.orig ./tools/checkdata.py
|
|
|
|
|
|
|
|
diff -up ./tools/easy.py.orig ./tools/easy.py
|
|
|
|
|
|
|
|
--- ./tools/easy.py.orig 2008-02-10 22:12:43.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./tools/easy.py 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
+from distutils.sysconfig import get_python_lib
|
|
|
|
|
|
|
|
from subprocess import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if len(sys.argv) <= 1:
|
|
|
|
|
|
|
|
@@ -12,10 +13,10 @@ if len(sys.argv) <= 1:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
is_win32 = (sys.platform == 'win32')
|
|
|
|
|
|
|
|
if not is_win32:
|
|
|
|
|
|
|
|
- svmscale_exe = "../svm-scale"
|
|
|
|
|
|
|
|
- svmtrain_exe = "../svm-train"
|
|
|
|
|
|
|
|
- svmpredict_exe = "../svm-predict"
|
|
|
|
|
|
|
|
- grid_py = "./grid.py"
|
|
|
|
|
|
|
|
+ svmscale_exe = "/usr/bin/svm-scale"
|
|
|
|
|
|
|
|
+ svmtrain_exe = "/usr/bin/svm-train"
|
|
|
|
|
|
|
|
+ svmpredict_exe = "/usr/bin/svm-predict"
|
|
|
|
|
|
|
|
+ grid_py = get_python_lib(1)+"/libsvm/grid.py"
|
|
|
|
|
|
|
|
gnuplot_exe = "/usr/bin/gnuplot"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
# example for windows
|
|
|
|
|
|
|
|
diff -up ./tools/grid.py.orig ./tools/grid.py
|
|
|
|
|
|
|
|
--- ./tools/grid.py.orig 2008-03-10 00:33:09.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./tools/grid.py 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -11,7 +11,7 @@ from subprocess import *
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
is_win32 = (sys.platform == 'win32')
|
|
|
|
|
|
|
|
if not is_win32:
|
|
|
|
|
|
|
|
- svmtrain_exe = "../svm-train"
|
|
|
|
|
|
|
|
+ svmtrain_exe = "/usr/bin/svm-train"
|
|
|
|
|
|
|
|
gnuplot_exe = "/usr/bin/gnuplot"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
# example for windows
|
|
|
|
|
|
|
|
@@ -88,6 +88,7 @@ Usage: grid.py [-log2c begin,end,step] [
|
|
|
|
|
|
|
|
i = i + 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pass_through_string = join(pass_through_options," ")
|
|
|
|
|
|
|
|
+ print 'dataset_pathname=%s' % dataset_pathname
|
|
|
|
|
|
|
|
assert os.path.exists(svmtrain_exe),"svm-train executable not found"
|
|
|
|
|
|
|
|
assert os.path.exists(gnuplot_exe),"gnuplot executable not found"
|
|
|
|
|
|
|
|
assert os.path.exists(dataset_pathname),"dataset not found"
|
|
|
|
|
|
|
|
diff -up ./svm-train.c.orig ./svm-train.c
|
|
|
|
|
|
|
|
diff -up ./Makefile.orig ./Makefile
|
|
|
|
diff -up ./Makefile.orig ./Makefile
|
|
|
|
--- ./Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
--- ./Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
+++ ./Makefile 2008-04-01 16:21:40.000000000 +1000
|
|
|
|
+++ ./Makefile 2008-04-01 16:21:40.000000000 +1000
|
|
|
@ -366,13 +253,134 @@ diff -up ./Makefile.orig ./Makefile
|
|
|
|
+ rm -f ${INSTDIR}/bin/svm-toy-gtk
|
|
|
|
+ rm -f ${INSTDIR}/bin/svm-toy-gtk
|
|
|
|
+ rm -f ${INSTDIR}/bin/svm-toy-qt
|
|
|
|
+ rm -f ${INSTDIR}/bin/svm-toy-qt
|
|
|
|
+
|
|
|
|
+
|
|
|
|
diff -up ./svm-scale.c.orig ./svm-scale.c
|
|
|
|
diff -up ./python/cross_validation.py.orig ./python/cross_validation.py
|
|
|
|
diff -up ./FAQ.html.orig ./FAQ.html
|
|
|
|
diff -up ./python/Makefile.orig ./python/Makefile
|
|
|
|
|
|
|
|
--- ./python/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./python/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -2,9 +2,16 @@ CXX? = g++
|
|
|
|
|
|
|
|
SWIG ?= swig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Windows: see ../README ../Makefile.win
|
|
|
|
|
|
|
|
-PYTHON_INCLUDEDIR ?= /usr/include/python2.4
|
|
|
|
|
|
|
|
+#PYTHON_TEMP:=${shell mktemp}
|
|
|
|
|
|
|
|
+#PYTHON_VERSION:=${shell python -V 2> ${PYTHON_TEMP} ; cat ${PYTHON_TEMP} | awk 'BEGIN {FS= "[ .]"} {printf("%s.%s",$$2,$$3)}'; rm -f ${PYTHON_TEMP}}
|
|
|
|
|
|
|
|
+ifndef PYTHON_INCLUDEDIR
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-CFLAGS = -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
|
|
|
|
|
|
|
+PYTHON_INCLUDEDIR?= /usr/include/python${PYTHON_VERSION}
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+endif
|
|
|
|
|
|
|
|
+PYTHON_TARGETDIR=${LIB_INSTDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+CFLAGS_PYTHON = ${CFLAGS} -O3 -I$(PYTHON_INCLUDEDIR) -I..
|
|
|
|
|
|
|
|
LDFLAGS = -shared
|
|
|
|
|
|
|
|
# Mac OS
|
|
|
|
|
|
|
|
# LDFLAGS = -framework Python -bundle
|
|
|
|
|
|
|
|
@@ -15,16 +22,34 @@ svmc.so: svmc_wrap.o svm.o
|
|
|
|
|
|
|
|
$(CXX) $(LDFLAGS) -o svmc.so svmc_wrap.o svm.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svmc_wrap.o: svmc_wrap.c ../svm.h
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) -fPIC -c svmc_wrap.c
|
|
|
|
|
|
|
|
+# echo "PYTHON_VERSION=${PYTHON_VERSION}"
|
|
|
|
|
|
|
|
+# echo "CFLAGS=${CFLAGS}"
|
|
|
|
|
|
|
|
+# echo "CFLAGS_PYTHON=${CFLAGS_PYTHON}"
|
|
|
|
|
|
|
|
+ $(CXX) $(CFLAGS_PYTHON) -fPIC -c svmc_wrap.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svmc_wrap.c: svmc.i
|
|
|
|
|
|
|
|
$(SWIG) -python -noproxy svmc.i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
svm.o: ../svm.cpp ../svm.h
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) -fPIC -c ../svm.cpp
|
|
|
|
|
|
|
|
+ $(CXX) $(CFLAGS_PYTHON) -fPIC -c ../svm.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
|
|
|
rm -f *~ *.o *.so *.pyc *.pyo svm.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
moreclean: clean
|
|
|
|
|
|
|
|
rm -f svmc_wrap.c
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+install: all
|
|
|
|
|
|
|
|
+ mkdir -p ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 cross_validation.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 644 svm.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 svm_test.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 test_cross_validation.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 644 *.i ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 *.so ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+ install -m 755 ../tools/*.py ${PYTHON_TARGETDIR}
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+uninstall:
|
|
|
|
|
|
|
|
+ rm -fr ${LIBDIR}/python${PYTHON_VERSION}/site-packages/libsvm
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
diff -up ./python/svmc_wrap.c.orig ./python/svmc_wrap.c
|
|
|
|
|
|
|
|
diff -up ./python/svm.py.orig ./python/svm.py
|
|
|
|
|
|
|
|
diff -up ./python/svm_test.py.orig ./python/svm_test.py
|
|
|
|
|
|
|
|
diff -up ./python/test_cross_validation.py.orig ./python/test_cross_validation.py
|
|
|
|
|
|
|
|
diff -up ./svm.h.orig ./svm.h
|
|
|
|
diff -up ./svm-predict.c.orig ./svm-predict.c
|
|
|
|
diff -up ./svm-predict.c.orig ./svm-predict.c
|
|
|
|
|
|
|
|
diff -up ./svm-scale.c.orig ./svm-scale.c
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/callbacks.cpp.orig ./svm-toy/gtk/callbacks.cpp
|
|
|
|
|
|
|
|
--- ./svm-toy/gtk/callbacks.cpp.orig 2008-04-01 16:55:09.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./svm-toy/gtk/callbacks.cpp 2008-04-01 17:04:12.000000000 +1000
|
|
|
|
|
|
|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include <ctype.h>
|
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
+#include <cstdlib>
|
|
|
|
|
|
|
|
#include "callbacks.h"
|
|
|
|
|
|
|
|
#include "interface.h"
|
|
|
|
|
|
|
|
#include "../../svm.h"
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/callbacks.h.orig ./svm-toy/gtk/callbacks.h
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/interface.c.orig ./svm-toy/gtk/interface.c
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/interface.h.orig ./svm-toy/gtk/interface.h
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/main.c.orig ./svm-toy/gtk/main.c
|
|
|
|
|
|
|
|
diff -up ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
|
|
|
|
|
|
|
|
--- ./svm-toy/gtk/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./svm-toy/gtk/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -1,22 +1,28 @@
|
|
|
|
|
|
|
|
CC? = gcc
|
|
|
|
|
|
|
|
CXX? = g++
|
|
|
|
|
|
|
|
-CFLAGS = -Wall -O3 -g `gtk-config --cflags`
|
|
|
|
|
|
|
|
-LIBS = `gtk-config --libs`
|
|
|
|
|
|
|
|
+#CFLAGS = -Wall -O3 -g `gtk-config --cflags`
|
|
|
|
|
|
|
|
+#LIBS = `gtk-config --libs`
|
|
|
|
|
|
|
|
+COPT = `pkg-config --cflags --libs gtk+-2.0`
|
|
|
|
|
|
|
|
+DOT_LIBS=../../.libs
|
|
|
|
|
|
|
|
+LIBS= -L${DOT_LIBS} -lsvm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-svm-toy: main.o interface.o callbacks.o ../../svm.o
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) main.o interface.o callbacks.o ../../svm.o -o svm-toy $(LIBS)
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+all: svm-toy-gtk
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+svm-toy-gtk: main.o interface.o callbacks.o
|
|
|
|
|
|
|
|
+ $(CXX) $(COPT) main.o interface.o callbacks.o ${LIBS} -o svm-toy-gtk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.o: main.c
|
|
|
|
|
|
|
|
- $(CC) $(CFLAGS) -c main.c
|
|
|
|
|
|
|
|
+ $(CC) $(COPT) -c main.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interface.o: interface.c interface.h
|
|
|
|
|
|
|
|
- $(CC) $(CFLAGS) -c interface.c
|
|
|
|
|
|
|
|
+ $(CC) $(COPT) -c interface.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
callbacks.o: callbacks.cpp callbacks.h
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) -c callbacks.cpp
|
|
|
|
|
|
|
|
+ $(CXX) $(COPT) -c callbacks.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-../../svm.o:
|
|
|
|
|
|
|
|
- cd ../..; make svm.o
|
|
|
|
|
|
|
|
+#../../svm.o:
|
|
|
|
|
|
|
|
+# cd ../..; make svm.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
|
|
|
- rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ../../svm.o
|
|
|
|
|
|
|
|
+ rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o
|
|
|
|
diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
|
|
|
|
diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
|
|
|
|
--- ./svm-toy/qt/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
--- ./svm-toy/qt/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
+++ ./svm-toy/qt/Makefile 2008-04-03 14:19:47.000000000 +1000
|
|
|
|
+++ ./svm-toy/qt/Makefile 2008-04-03 15:23:17.000000000 +1000
|
|
|
|
@@ -1,19 +1,48 @@
|
|
|
|
@@ -1,19 +1,50 @@
|
|
|
|
CXX? = g++
|
|
|
|
CXX? = g++
|
|
|
|
-CFLAGS = -Wall -O3 -DQT_THREAD_SUPPORT
|
|
|
|
-CFLAGS = -Wall -O3 -DQT_THREAD_SUPPORT
|
|
|
|
-BIN = $(QTDIR)/bin
|
|
|
|
-BIN = $(QTDIR)/bin
|
|
|
@ -384,22 +392,22 @@ diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
|
|
|
|
+CFLAGS = -Wall -O3
|
|
|
|
+CFLAGS = -Wall -O3
|
|
|
|
+#LIBDIR?=/usr/lib64
|
|
|
|
+#LIBDIR?=/usr/lib64
|
|
|
|
+#QT4_DIR=
|
|
|
|
+#QT4_DIR=
|
|
|
|
+QT4_DIR= $(shell if [ -e ${LIBDIR}/qt4 ]; then echo ${LIBDIR}/qt4; fi)
|
|
|
|
+QT4_DIR:= $(shell if [ -e ${LIBDIR}/qt4 ]; then echo ${LIBDIR}/qt4; fi)
|
|
|
|
|
|
|
|
|
|
|
|
-svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
|
|
|
|
-svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
|
|
|
|
- $(CXX) -I$(INCLUDE) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy -L$(LIB) -lqt-mt
|
|
|
|
- $(CXX) -I$(INCLUDE) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy -L$(LIB) -lqt-mt
|
|
|
|
+ifdef QT4_DIR
|
|
|
|
+ifdef QT4_DIR
|
|
|
|
+ QTDIR=${QT4_DIR}
|
|
|
|
+ QTDIR:=${QT4_DIR}
|
|
|
|
+ BIN = ${QTDIR}/bin
|
|
|
|
+ BIN := ${QTDIR}/bin
|
|
|
|
+ FLAGS=${CFLAGS} -I/usr/include/Qt -DQT3_SUPPORT -DQT_INCLUDE_COMPAT `pkg-config --cflags --libs Qt3Support QtGui`
|
|
|
|
+ FLAGS:=${CFLAGS} -I/usr/include/Qt -DQT3_SUPPORT -DQT_INCLUDE_COMPAT `pkg-config --cflags --libs Qt3Support QtGui`
|
|
|
|
+ QT3_TO_4=$(shell if [ -e "${BIN}/qt3to4" ]; then echo "${BIN}/qt3to4"; fi)
|
|
|
|
+ QT3_TO_4:=$(shell if [ -e "${BIN}/qt3to4" ]; then echo "${BIN}/qt3to4"; fi)
|
|
|
|
+ ifndef QT3_TO_4
|
|
|
|
+ ifndef QT3_TO_4
|
|
|
|
+ QT3_TO_4=$(shell if [ -e /usr/bin/qt3to4 ]; then echo /usr/bin/qt3to4; fi)
|
|
|
|
+ QT3_TO_4:=$(shell if [ -e /usr/bin/qt3to4 ]; then echo /usr/bin/qt3to4; fi)
|
|
|
|
+ endif
|
|
|
|
+ endif
|
|
|
|
+else
|
|
|
|
+else
|
|
|
|
+ QTDIR=${LIBDIR}/qt-3.3
|
|
|
|
+ QTDIR:=${LIBDIR}/qt-3.3
|
|
|
|
+ BIN = ${QTDIR}/bin
|
|
|
|
+ BIN := ${QTDIR}/bin
|
|
|
|
+ FLAGS=${CFLAGS} `pkg-config --cflags --libs qt-mt`
|
|
|
|
+ FLAGS:=${CFLAGS} `pkg-config --cflags --libs qt-mt`
|
|
|
|
+endif
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
@ -418,6 +426,9 @@ diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
|
|
|
|
- cd ../..; make svm.o
|
|
|
|
- cd ../..; make svm.o
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+svm-toy.moc: svm-toy.new.cpp
|
|
|
|
+svm-toy.moc: svm-toy.new.cpp
|
|
|
|
|
|
|
|
+ echo "QT4_DIR=${QT4_DIR}"
|
|
|
|
|
|
|
|
+ echo "QTDIR=${QTDIR}"
|
|
|
|
|
|
|
|
+ echo "BIN=${BIN}"
|
|
|
|
+# echo "LIBDIR=${LIBDIR}"
|
|
|
|
+# echo "LIBDIR=${LIBDIR}"
|
|
|
|
+# echo "FLAGS=${FLAGS}"
|
|
|
|
+# echo "FLAGS=${FLAGS}"
|
|
|
|
+ ${BIN}/moc svm-toy.new.cpp -o svm-toy.moc
|
|
|
|
+ ${BIN}/moc svm-toy.new.cpp -o svm-toy.moc
|
|
|
@ -425,10 +436,9 @@ diff -up ./svm-toy/qt/Makefile.orig ./svm-toy/qt/Makefile
|
|
|
|
+# cd ../..; make svm.o
|
|
|
|
+# cd ../..; make svm.o
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+svm-toy.new.cpp: svm-toy.cpp
|
|
|
|
+svm-toy.new.cpp: svm-toy.cpp
|
|
|
|
+# echo "QTDIR=${QTDIR}"
|
|
|
|
|
|
|
|
+ cp svm-toy.cpp svm-toy.new.cpp
|
|
|
|
+ cp svm-toy.cpp svm-toy.new.cpp
|
|
|
|
|
|
|
|
+ifdef QT3_TO_4
|
|
|
|
+ echo "QT3_TO_4=${QT3_TO_4}"
|
|
|
|
+ echo "QT3_TO_4=${QT3_TO_4}"
|
|
|
|
+ifdef QT3_To_4
|
|
|
|
|
|
|
|
+ ${QT3_TO_4} -alwaysOverwrite svm-toy.new.cpp
|
|
|
|
+ ${QT3_TO_4} -alwaysOverwrite svm-toy.new.cpp
|
|
|
|
+endif
|
|
|
|
+endif
|
|
|
|
+
|
|
|
|
+
|
|
|
@ -541,60 +551,52 @@ diff -up ./svm-toy/qt/svm-toy.cpp.orig ./svm-toy/qt/svm-toy.cpp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int main( int argc, char* argv[] )
|
|
|
|
int main( int argc, char* argv[] )
|
|
|
|
diff -up ./svm-toy/gtk/interface.h.orig ./svm-toy/gtk/interface.h
|
|
|
|
diff -up ./svm-train.c.orig ./svm-train.c
|
|
|
|
diff -up ./svm-toy/gtk/interface.c.orig ./svm-toy/gtk/interface.c
|
|
|
|
diff -up ./tools/checkdata.py.orig ./tools/checkdata.py
|
|
|
|
diff -up ./svm-toy/gtk/Makefile.orig ./svm-toy/gtk/Makefile
|
|
|
|
diff -up ./tools/easy.py.orig ./tools/easy.py
|
|
|
|
--- ./svm-toy/gtk/Makefile.orig 2007-10-14 16:29:12.000000000 +1000
|
|
|
|
--- ./tools/easy.py.orig 2008-02-10 22:12:43.000000000 +1000
|
|
|
|
+++ ./svm-toy/gtk/Makefile 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
+++ ./tools/easy.py 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
@@ -1,22 +1,28 @@
|
|
|
|
@@ -2,6 +2,7 @@
|
|
|
|
CC? = gcc
|
|
|
|
|
|
|
|
CXX? = g++
|
|
|
|
|
|
|
|
-CFLAGS = -Wall -O3 -g `gtk-config --cflags`
|
|
|
|
|
|
|
|
-LIBS = `gtk-config --libs`
|
|
|
|
|
|
|
|
+#CFLAGS = -Wall -O3 -g `gtk-config --cflags`
|
|
|
|
|
|
|
|
+#LIBS = `gtk-config --libs`
|
|
|
|
|
|
|
|
+COPT = `pkg-config --cflags --libs gtk+-2.0`
|
|
|
|
|
|
|
|
+DOT_LIBS=../../.libs
|
|
|
|
|
|
|
|
+LIBS= -L${DOT_LIBS} -lsvm
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-svm-toy: main.o interface.o callbacks.o ../../svm.o
|
|
|
|
|
|
|
|
- $(CXX) $(CFLAGS) main.o interface.o callbacks.o ../../svm.o -o svm-toy $(LIBS)
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+all: svm-toy-gtk
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+svm-toy-gtk: main.o interface.o callbacks.o
|
|
|
|
|
|
|
|
+ $(CXX) $(COPT) main.o interface.o callbacks.o ${LIBS} -o svm-toy-gtk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.o: main.c
|
|
|
|
import sys
|
|
|
|
- $(CC) $(CFLAGS) -c main.c
|
|
|
|
import os
|
|
|
|
+ $(CC) $(COPT) -c main.c
|
|
|
|
+from distutils.sysconfig import get_python_lib
|
|
|
|
|
|
|
|
from subprocess import *
|
|
|
|
|
|
|
|
|
|
|
|
interface.o: interface.c interface.h
|
|
|
|
if len(sys.argv) <= 1:
|
|
|
|
- $(CC) $(CFLAGS) -c interface.c
|
|
|
|
@@ -12,10 +13,10 @@ if len(sys.argv) <= 1:
|
|
|
|
+ $(CC) $(COPT) -c interface.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
callbacks.o: callbacks.cpp callbacks.h
|
|
|
|
is_win32 = (sys.platform == 'win32')
|
|
|
|
- $(CXX) $(CFLAGS) -c callbacks.cpp
|
|
|
|
if not is_win32:
|
|
|
|
+ $(CXX) $(COPT) -c callbacks.cpp
|
|
|
|
- svmscale_exe = "../svm-scale"
|
|
|
|
|
|
|
|
- svmtrain_exe = "../svm-train"
|
|
|
|
|
|
|
|
- svmpredict_exe = "../svm-predict"
|
|
|
|
|
|
|
|
- grid_py = "./grid.py"
|
|
|
|
|
|
|
|
+ svmscale_exe = "/usr/bin/svm-scale"
|
|
|
|
|
|
|
|
+ svmtrain_exe = "/usr/bin/svm-train"
|
|
|
|
|
|
|
|
+ svmpredict_exe = "/usr/bin/svm-predict"
|
|
|
|
|
|
|
|
+ grid_py = get_python_lib(1)+"/libsvm/grid.py"
|
|
|
|
|
|
|
|
gnuplot_exe = "/usr/bin/gnuplot"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
# example for windows
|
|
|
|
|
|
|
|
diff -up ./tools/grid.py.orig ./tools/grid.py
|
|
|
|
|
|
|
|
--- ./tools/grid.py.orig 2008-03-10 00:33:09.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./tools/grid.py 2008-04-01 16:17:52.000000000 +1000
|
|
|
|
|
|
|
|
@@ -11,7 +11,7 @@ from subprocess import *
|
|
|
|
|
|
|
|
|
|
|
|
-../../svm.o:
|
|
|
|
is_win32 = (sys.platform == 'win32')
|
|
|
|
- cd ../..; make svm.o
|
|
|
|
if not is_win32:
|
|
|
|
+#../../svm.o:
|
|
|
|
- svmtrain_exe = "../svm-train"
|
|
|
|
+# cd ../..; make svm.o
|
|
|
|
+ svmtrain_exe = "/usr/bin/svm-train"
|
|
|
|
|
|
|
|
gnuplot_exe = "/usr/bin/gnuplot"
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
# example for windows
|
|
|
|
|
|
|
|
@@ -88,6 +88,7 @@ Usage: grid.py [-log2c begin,end,step] [
|
|
|
|
|
|
|
|
i = i + 1
|
|
|
|
|
|
|
|
|
|
|
|
clean:
|
|
|
|
pass_through_string = join(pass_through_options," ")
|
|
|
|
- rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o ../../svm.o
|
|
|
|
+ print 'dataset_pathname=%s' % dataset_pathname
|
|
|
|
+ rm -f *~ callbacks.o svm-toy main.o interface.o callbacks.o
|
|
|
|
assert os.path.exists(svmtrain_exe),"svm-train executable not found"
|
|
|
|
diff -up ./svm-toy/gtk/callbacks.h.orig ./svm-toy/gtk/callbacks.h
|
|
|
|
assert os.path.exists(gnuplot_exe),"gnuplot executable not found"
|
|
|
|
diff -up ./svm-toy/gtk/main.c.orig ./svm-toy/gtk/main.c
|
|
|
|
assert os.path.exists(dataset_pathname),"dataset not found"
|
|
|
|
diff -up ./svm-toy/gtk/callbacks.cpp.orig ./svm-toy/gtk/callbacks.cpp
|
|
|
|
diff -up ./tools/subset.py.orig ./tools/subset.py
|
|
|
|
--- ./svm-toy/gtk/callbacks.cpp.orig 2008-04-01 16:55:09.000000000 +1000
|
|
|
|
|
|
|
|
+++ ./svm-toy/gtk/callbacks.cpp 2008-04-01 17:04:12.000000000 +1000
|
|
|
|
|
|
|
|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include <ctype.h>
|
|
|
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
+#include <cstdlib>
|
|
|
|
|
|
|
|
#include "callbacks.h"
|
|
|
|
|
|
|
|
#include "interface.h"
|
|
|
|
|
|
|
|
#include "../../svm.h"
|
|
|
|
|
|
|
|