commit
dc175faf0c
@ -0,0 +1,9 @@
|
||||
guide.pdf
|
||||
libsvm-3.91.tar.gz
|
||||
/log
|
||||
/LibSVM-svm-toy-48.png
|
||||
/libsvm-svm-toy-gtk.desktop
|
||||
/libsvm-svm-toy-qt.desktop
|
||||
/libsvm-3.20.tar.gz
|
||||
/libsvm-3.21.tar.gz
|
||||
/libsvm-3.23.tar.gz
|
After Width: | Height: | Size: 566 B |
@ -1,21 +0,0 @@
|
||||
# Makefile for source rpm: libsvm
|
||||
# $Id$
|
||||
NAME := libsvm
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
@ -0,0 +1,36 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>tw.edu.ntu.csie</groupId>
|
||||
<artifactId>libsvm</artifactId>
|
||||
<version>3.17</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>LIBSVM</name>
|
||||
<description>A Library for Support Vector Machines</description>
|
||||
<url>http://www.csie.ntu.edu.tw/~cjlin/libsvm/</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>BSD 3-Clause License</name>
|
||||
<url>http://www.csie.ntu.edu.tw/~cjlin/libsvm/COPYRIGHT</url>
|
||||
</license>
|
||||
</licenses>
|
||||
<scm>
|
||||
<url>http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz</url>
|
||||
<connection>http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz</connection>
|
||||
</scm>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>chih-jen.lin</id>
|
||||
<name>Chih-Jen Lin</name>
|
||||
<email>cjlin@csie.ntu.edu.tw</email>
|
||||
</developer>
|
||||
</developers>
|
||||
<properties>
|
||||
<maven.compiler.source>1.5</maven.compiler.source>
|
||||
<maven.compiler.target>1.5</maven.compiler.target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</properties>
|
||||
<build>
|
||||
<sourceDirectory>java</sourceDirectory>
|
||||
</build>
|
||||
</project>
|
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=svm-toy-qt
|
||||
GenericName=svm-toy QT version
|
||||
Comment=QT version of svm-toy (libsvm demostration program)
|
||||
Exec=svm-toy-qt
|
||||
Icon=libsvm-svm-toy-qt-48
|
||||
StartupNotify=true
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Education;Science;Math;DataVisualization;Qt
|
@ -0,0 +1,43 @@
|
||||
diff -up ./java/Makefile.javaDir ./java/Makefile
|
||||
--- ./java/Makefile.javaDir 2016-12-22 04:58:49.000000000 +1000
|
||||
+++ ./java/Makefile 2018-04-17 12:11:53.773004141 +1000
|
||||
@@ -5,8 +5,8 @@ FILES = libsvm/svm.class libsvm/svm_mode
|
||||
svm_train.class svm_predict.class svm_toy.class svm_scale.class
|
||||
|
||||
#JAVAC = jikes
|
||||
-JAVAC_FLAGS = -target 1.7 -source 1.7
|
||||
-JAVAC = javac
|
||||
+JAVAC_FLAGS = -target 1.7 -source 1.7 -classpath ${CLASSPATH}
|
||||
+JAVAC ?= javac
|
||||
# JAVAC_FLAGS =
|
||||
export CLASSPATH := .:$(CLASSPATH)
|
||||
|
||||
@@ -19,8 +19,20 @@ all: $(FILES)
|
||||
libsvm/svm.java: libsvm/svm.m4
|
||||
m4 libsvm/svm.m4 > libsvm/svm.java
|
||||
|
||||
+javadoc: docs/index.html
|
||||
+
|
||||
+docs/index.html: $(FILES)
|
||||
+ javadoc -d docs *.java libsvm/*.java
|
||||
+
|
||||
+install:
|
||||
+ mkdir -p ${JAVA_TARGET_DIR}
|
||||
+ install -m 644 libsvm.jar ${JAVA_TARGET_DIR}
|
||||
+uninstall:
|
||||
+ rm -fr ${JAVA_TARGET_DIR}
|
||||
+
|
||||
clean:
|
||||
rm -f libsvm/*.class *.class *.jar libsvm/*~ *~ libsvm/svm.java
|
||||
+ rm -rf docs
|
||||
|
||||
dist: clean all
|
||||
rm *.class libsvm/*.class
|
||||
diff -up ./java/test_applet.html.javaDir ./java/test_applet.html
|
||||
--- ./java/test_applet.html.javaDir 2016-12-22 04:58:51.000000000 +1000
|
||||
+++ ./java/test_applet.html 2018-04-17 11:51:17.927996424 +1000
|
||||
@@ -1 +1,3 @@
|
||||
-<APPLET code="svm_toy.class" archive="libsvm.jar" width=300 height=350></APPLET>
|
||||
+<html>
|
||||
+<applet code="svm_toy.class" archive="libsvm.jar" width=300 height=350></applet>
|
||||
+</html>
|
@ -0,0 +1,102 @@
|
||||
diff -up ./Makefile.packageMain ./Makefile
|
||||
--- ./Makefile.packageMain 2013-03-31 17:06:44.000000000 +1000
|
||||
+++ ./Makefile 2013-04-13 22:59:43.796601417 +1000
|
||||
@@ -1,11 +1,45 @@
|
||||
CXX ?= g++
|
||||
-CFLAGS = -Wall -Wconversion -O3 -fPIC
|
||||
+CFLAGS = ${RPM_CFLAGS} -Wconversion -fPIC
|
||||
SHVER = 2
|
||||
+export SHVER
|
||||
OS = $(shell uname)
|
||||
+MAKE = make
|
||||
+DOT_LIBS=.
|
||||
+LIBS= -L${DOT_LIBS} -lsvm
|
||||
+export LIBSVM_VER
|
||||
+IS_64:=$(shell /bin/uname -i | awk '/64/ {print 64}')
|
||||
+PREFIXDIR?= /usr
|
||||
+export PREFIXDIR
|
||||
|
||||
-all: svm-train svm-predict svm-scale
|
||||
+LIBDIR?=${PREFIXDIR}/lib${IS_64}
|
||||
+export LIBDIR
|
||||
|
||||
-lib: svm.o
|
||||
+DATADIR?=${PREFIXDIR}/share
|
||||
+export DATADIR
|
||||
+
|
||||
+BINDIR?=${PREFIXDIR}/bin
|
||||
+export BINDIR
|
||||
+
|
||||
+INCLUDEDIR_INSTALL:=${DESTDIR}/${PREFIXDIR}/include
|
||||
+export INCLUDEDIR_INSTALL
|
||||
+
|
||||
+LIBDIR_INSTALL:=${DESTDIR}/${LIBDIR}
|
||||
+export LIBDIR_INSTALL
|
||||
+
|
||||
+DATADIR_INSTALL:=${DESTDIR}/${DATADIR}
|
||||
+export DATA_INSTALL
|
||||
+
|
||||
+BINDIR_INSTALL:=${DESTDIR}/${BINDIR}
|
||||
+export BINDIR_INSTALL
|
||||
+
|
||||
+all: lib svm-train svm-predict svm-scale svm-python svm-toy-qt
|
||||
+
|
||||
+lib: libsvm.so.$(SHVER) libsvm.so
|
||||
+
|
||||
+libsvm.so: libsvm.so.$(SHVER)
|
||||
+ ln -sf libsvm.so.$(SHVER) libsvm.so
|
||||
+
|
||||
+libsvm.so.$(SHVER): svm.o
|
||||
if [ "$(OS)" = "Darwin" ]; then \
|
||||
SHARED_LIB_FLAG="-dynamiclib -Wl,-install_name,libsvm.so.$(SHVER)"; \
|
||||
else \
|
||||
@@ -14,12 +48,46 @@ lib: svm.o
|
||||
$(CXX) $${SHARED_LIB_FLAG} svm.o -o libsvm.so.$(SHVER)
|
||||
|
||||
svm-predict: svm-predict.c svm.o
|
||||
- $(CXX) $(CFLAGS) svm-predict.c svm.o -o svm-predict -lm
|
||||
+ $(CXX) $(CFLAGS) svm-predict.c $(LIBS) -o svm-predict -lm
|
||||
svm-train: svm-train.c svm.o
|
||||
- $(CXX) $(CFLAGS) svm-train.c svm.o -o svm-train -lm
|
||||
+ $(CXX) $(CFLAGS) svm-train.c $(LIBS) -o svm-train -lm
|
||||
svm-scale: svm-scale.c
|
||||
$(CXX) $(CFLAGS) svm-scale.c -o svm-scale
|
||||
svm.o: svm.cpp svm.h
|
||||
$(CXX) $(CFLAGS) -c svm.cpp
|
||||
clean:
|
||||
- rm -f *~ svm.o svm-train svm-predict svm-scale libsvm.so.$(SHVER)
|
||||
+ rm -f *~ svm.o svm-train svm-predict svm-scale svm-toy/qt/svm-toy-qt
|
||||
+ ${MAKE} -C python clean
|
||||
+ ${MAKE} -C java clean
|
||||
+svm-python:
|
||||
+ ${MAKE} -C python
|
||||
+
|
||||
+svm-toy-qt:
|
||||
+ ${MAKE} -C svm-toy/qt
|
||||
+
|
||||
+install: all
|
||||
+ mkdir -p ${BINDIR_INSTALL}
|
||||
+ install -m 755 svm-train ${BINDIR_INSTALL}
|
||||
+ install -m 755 svm-predict ${BINDIR_INSTALL}
|
||||
+ install -m 755 svm-scale ${BINDIR_INSTALL}
|
||||
+ mkdir -p ${LIBDIR_INSTALL}
|
||||
+ install -m 755 libsvm.so.$(SHVER) ${LIBDIR_INSTALL}
|
||||
+# install package libsvm-devel
|
||||
+ mkdir -p ${INCLUDEDIR_INSTALL}/libsvm
|
||||
+ install -m 644 svm.h ${INCLUDEDIR_INSTALL}/libsvm
|
||||
+# install package svm-toy
|
||||
+ install -m 755 svm-toy/qt/svm-toy-qt ${BINDIR_INSTALL}
|
||||
+# install examples
|
||||
+ mkdir -p ${DATADIR_INSTALL}/libsvm/examples
|
||||
+ install -m 644 heart_scale ${DATADIR_INSTALL}/libsvm/examples
|
||||
+uninstall:
|
||||
+ rm -f ${BINDIR_INSTALL}/svm-train
|
||||
+ rm -f ${BINDIR_INSTALL}/svm-predict
|
||||
+ rm -f ${BINDIR_INSTALL}/svm-scale
|
||||
+ rm -fr ${DATADIR_INSTALL}/libsvm
|
||||
+ rm -f ${INCLUDEDIR_INSTALL}/libsvm/svm.h
|
||||
+ rm -f ${LIBDIR_INSTALL}/libsvm.so*
|
||||
+ ${MAKE} -C python uninstall
|
||||
+ ${MAKE} -C java uninstall
|
||||
+ rm -f ${BINDIR_INSTALL}/svm-toy-qt
|
||||
+
|
@ -0,0 +1,621 @@
|
||||
%define shver 2
|
||||
%global libdir_libsvm %{_libdir}/libsvm
|
||||
%global python3_libsvm_dir %{python3_sitearch}/libsvm
|
||||
%global maven_group_id tw.edu.ntu.csie
|
||||
%global pom_file_version 3.17
|
||||
%global pom_file_name JPP.%{maven_group_id}-%{name}.pom
|
||||
|
||||
# EL <= 6 does not have enable_maven
|
||||
%if 0%{?rhel} != 0 && 0%{?rhel} <= 6
|
||||
%global java_dependency java
|
||||
%ifarch ppc64
|
||||
%bcond_with java
|
||||
%else
|
||||
%bcond_without java
|
||||
%endif
|
||||
%global cpp_std c++0x
|
||||
%else
|
||||
%define java_dependency java-headless
|
||||
%bcond_without java
|
||||
%bcond_without maven
|
||||
%global cpp_std c++11
|
||||
%endif
|
||||
|
||||
|
||||
Name: libsvm
|
||||
Version: 3.23
|
||||
Release: 7%{?dist}
|
||||
Summary: A Library for Support Vector Machines
|
||||
|
||||
License: BSD
|
||||
URL: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
|
||||
Source0: http://www.csie.ntu.edu.tw/~cjlin/libsvm/%{name}-%{version}.tar.gz
|
||||
Source1: http://www.csie.ntu.edu.tw/~cjlin/libsvm/log
|
||||
Source2: http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
|
||||
Source4: libsvm-svm-toy-qt.desktop
|
||||
Source5: LibSVM-svm-toy-48.png
|
||||
Source6: http://central.maven.org/maven2/tw/edu/ntu/csie/libsvm/%{pom_file_version}/libsvm-%{pom_file_version}.pom
|
||||
Patch0: %{name}.packageMain.patch
|
||||
Patch2: %{name}.javaDir.patch
|
||||
Patch4: %{name}.toolsDir.patch
|
||||
Patch5: %{name}.svm-toy-qt5.patch
|
||||
BuildRequires: grep
|
||||
|
||||
%description
|
||||
LIBSVM is an integrated software for support vector classification,
|
||||
(C-SVC, nu-SVC ), regression (epsilon-SVR, nu-SVR) and distribution
|
||||
estimation (one-class SVM ). It supports multi-class classification.
|
||||
|
||||
%package devel
|
||||
Summary: Header file, object file, and source files of libsvm in C, C++ and Java
|
||||
BuildRequires: glibc-devel gawk
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Header file, object file of libsvm in C, C++ and Java.
|
||||
Install this package if you want to develop programs with libsvm.
|
||||
|
||||
%package -n python3-%{name}
|
||||
%{?python_provide:%python_provide python3-%{name}}
|
||||
Summary: Python3 tools and interfaces for libsvm
|
||||
BuildRequires: python3-devel gawk
|
||||
#gnuplot is required by easy.py
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: gnuplot
|
||||
|
||||
%description -n python3-%{name}
|
||||
Python3 tools and interfaces for libsvm.
|
||||
Install this package if you want to develop
|
||||
programs with libsvm in Python3.
|
||||
|
||||
%if %{with java}
|
||||
%package java
|
||||
Summary: Java tools and interfaces for libsvm
|
||||
BuildRequires: java-devel >= 1.7.0
|
||||
BuildRequires: jpackage-utils
|
||||
%if %{with maven}
|
||||
BuildRequires: maven-local
|
||||
%endif
|
||||
Requires: %{java_dependency} >= 1.7.0
|
||||
Requires: jpackage-utils
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description java
|
||||
Java tools and interfaces for libsvm.
|
||||
Install this package if you want to develop
|
||||
programs with libsvm in Java.
|
||||
|
||||
%package javadoc
|
||||
Summary: Javadoc for libsvm
|
||||
BuildRequires: java-devel >= 1.7.0
|
||||
BuildRequires: jpackage-utils
|
||||
BuildArch: noarch
|
||||
Requires: %{name}-java = %{version}-%{release}
|
||||
|
||||
%description javadoc
|
||||
Javadoc for libsvm
|
||||
%endif
|
||||
|
||||
%package svm-toy-qt
|
||||
Summary: QT version of svm-toy (libsvm demonstration program)
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
BuildRequires: qt5-qtbase-devel
|
||||
Requires: qt5-qtbase
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description svm-toy-qt
|
||||
svm-toy is a libsvm demonstration program which has a qt-GUI to
|
||||
display the derived separating hyperplane.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p0 -b .packageMain
|
||||
%patch2 -p0 -b .javaDir
|
||||
%patch4 -p0 -b .toolsDir
|
||||
%patch5 -p0 -b .svm-toy-qt5
|
||||
cp %{SOURCE1} ChangeLog
|
||||
cp %{SOURCE2} .
|
||||
cp %{SOURCE4} .
|
||||
cp %{SOURCE5} %{name}-svm-toy-qt-48.png
|
||||
|
||||
# Fix the error: narrowing conversion
|
||||
sed -i.narrowing -e "s|{x,y,v}|{x,y,(signed char) v}|" svm-toy/qt/svm-toy.cpp
|
||||
sed -i -e "s|{x,y,current_value}|{x,y,(signed char) current_value}|" svm-toy/qt/svm-toy.cpp
|
||||
sed -i -e "s|(double)event->y()/YLEN, current_value|(double)event->y()/YLEN,(signed char) current_value|" svm-toy/qt/svm-toy.cpp
|
||||
|
||||
%if %{with maven}
|
||||
# Update the POM file, which is stuck on version 3.17
|
||||
# pom_xpath_set does not work in rpm-4.11.1
|
||||
# as it generated something like
|
||||
# <version>
|
||||
# <!-- begin of code added by maintainer -->
|
||||
# 3.20
|
||||
#
|
||||
# <!-- end of code added by maintainer -->
|
||||
# </version>
|
||||
%{__sed} -e 's/%{pom_file_version}/%{version}/' %{SOURCE6} > %{name}.pom
|
||||
%{__sed} -i 's|<url>http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz</url>|<url>https://github.com/cjlin1/libsvm</url>|' %{name}.pom
|
||||
%{__sed} -i 's|<connection>http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz</connection>|<connection>scm:git:https://github.com/cjlin1/libsvm.git</connection>|' %{name}.pom
|
||||
|
||||
%mvn_file %{maven_group_id}:%{name} %{maven_group_id}/%{name}
|
||||
%endif
|
||||
|
||||
%build
|
||||
%{__sed} -i 's/\r//' FAQ.html
|
||||
%{__sed} -i 's/\r//' ChangeLog
|
||||
make all RPM_CFLAGS="$RPM_OPT_FLAGS" LIBDIR="%{_libdir}" CPP_STD="%{cpp_std}"
|
||||
%if %{with java}
|
||||
make -C java all javadoc
|
||||
%endif
|
||||
mv python/README python/README-Python
|
||||
mv tools/README tools/README-Tools
|
||||
cp README java/README-Java
|
||||
cp README svm-toy/qt
|
||||
|
||||
%if %{with maven}
|
||||
%mvn_artifact %{name}.pom java/%{name}.jar
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
make install DESTDIR=%{buildroot} LIBDIR=%{_libdir} LIBSVM_VER="%{version}" CPP_STD="%{cpp_std}"
|
||||
mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/48x48/apps/
|
||||
cp %{name}-svm-toy-qt-48.png %{buildroot}/%{_datadir}/icons/hicolor/48x48/apps/
|
||||
mkdir -p %{buildroot}/%{_datadir}/applications
|
||||
cp %{name}-svm-toy-qt.desktop %{buildroot}/%{_datadir}/applications
|
||||
|
||||
%__ln_s %{name}.so.%{shver} %{buildroot}/%{_libdir}/%{name}.so
|
||||
|
||||
mkdir -p %{buildroot}/%{python3_libsvm_dir}
|
||||
echo -e "# This file is not in the original libsvm tarball, but added for convenience of import libsvm.\n\
|
||||
# This file is released under BSD license, just like the rest of the package.\n"\
|
||||
> %{buildroot}/%{python3_libsvm_dir}/__init__.py
|
||||
install -p -m 755 tools/*.py %{buildroot}/%{python3_libsvm_dir}
|
||||
install -p -m 755 python/*.py %{buildroot}/%{python3_libsvm_dir}
|
||||
echo 'libsvm' > %{buildroot}/%{python3_sitearch}/libsvm.pth
|
||||
for p in %{buildroot}%{python3_libsvm_dir}/*.py;do
|
||||
sed -i -e 's|#!/usr/bin/env python|#!%{__python3}|' $p
|
||||
done
|
||||
cd tools
|
||||
for p in *.py; do
|
||||
ln -s %{python3_libsvm_dir}/$p %{buildroot}/%{_bindir}/svm-$p
|
||||
done
|
||||
cd -
|
||||
|
||||
# Java
|
||||
%if %{with java}
|
||||
make -C java install JAVA_TARGET_DIR="%{buildroot}/%{_javadir}"
|
||||
mkdir -p %{buildroot}/%{_javadocdir}/%{name}
|
||||
cp -p -R java/docs/* %{buildroot}/%{_javadocdir}/%{name}
|
||||
%endif
|
||||
|
||||
%if %{with maven}
|
||||
%mvn_install
|
||||
%endif
|
||||
|
||||
# Desktop files
|
||||
desktop-file-install --delete-original \
|
||||
--dir=%{buildroot}%{_datadir}/applications \
|
||||
%{buildroot}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%files
|
||||
%doc COPYRIGHT FAQ.html ChangeLog guide.pdf
|
||||
%{_bindir}/svm-predict
|
||||
%{_bindir}/svm-scale
|
||||
%{_bindir}/svm-train
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/examples
|
||||
%{_libdir}/%{name}.so.%{shver}
|
||||
|
||||
%files devel
|
||||
%doc README
|
||||
%{_includedir}/%{name}/
|
||||
%{_libdir}/%{name}.so
|
||||
|
||||
%files -n python3-%{name}
|
||||
%doc python/README-Python tools/README-Tools
|
||||
%{python3_libsvm_dir}
|
||||
%{_bindir}/svm-*.py
|
||||
%{python3_sitearch}/libsvm.pth
|
||||
|
||||
%if %{with java}
|
||||
%if %{with maven}
|
||||
%files java -f .mfiles
|
||||
%else
|
||||
%files java
|
||||
%endif
|
||||
%defattr(-,root,root,-)
|
||||
%doc java/README-Java java/test_applet.html
|
||||
%{_javadir}/%{name}.jar
|
||||
%if %{with maven}
|
||||
%{_javadir}/%{maven_group_id}/%{name}.jar
|
||||
%endif
|
||||
%files javadoc
|
||||
%{_javadocdir}/%{name}
|
||||
%endif
|
||||
|
||||
%files svm-toy-qt
|
||||
%doc svm-toy/qt/README
|
||||
%{_bindir}/svm-toy-qt
|
||||
%{_datadir}/icons/hicolor/48x48/apps/%{name}-svm-toy-qt-48.png
|
||||
%{_datadir}/applications/*%{name}-svm-toy-qt.desktop
|
||||
|
||||
%changelog
|
||||
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 3.23-7
|
||||
- Rebuilt for Python 3.8
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.23-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.23-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Tue Jan 15 2019 Miro Hrončok <mhroncok@redhat.com> - 3.23-4
|
||||
- Remove Python 2 subpackage (#1655696)
|
||||
|
||||
* Tue Aug 28 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.23-3
|
||||
- Fix Provides/Obsoletes for old python subpackage
|
||||
|
||||
* Thu Jul 26 2018 Ding-Yi Chen <dchen@redhat.com> - 3.23-2
|
||||
- Add -javadoc subpackage
|
||||
- Use macro rhel instead of el_version
|
||||
- qt5 in EL should be qt5-qtbase
|
||||
|
||||
* Thu Jul 19 2018 Ding-Yi Chen <dchen@redhat.com> - 3.23-1
|
||||
- Upstream update to 3.23
|
||||
+ add more digits of predicted file, model file, scaled data and data
|
||||
from matlab libsvmwrite: to .17g
|
||||
+ svm-toy-gtk is no longer supported
|
||||
+ Dependency qt is updated to qt5
|
||||
- probability output:
|
||||
+ if 2 classes, directly output the predited probabilities
|
||||
rather than run the iterative algorithms for multi-class situations
|
||||
- java:
|
||||
+ libsvm.jar generated by java 1.7 rather than 1.5
|
||||
+ change the use of "_" in svm.java, which won't be allowed in later java
|
||||
- python:
|
||||
+ split to python2 and python3
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.21-6
|
||||
- Python 2 binary package renamed to python2-libsvm
|
||||
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.21-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Nov 07 2016 Than Ngo <than@redhat.com> - 3.21-2
|
||||
- bz#1392340, enable java part on ppc64
|
||||
|
||||
* Wed Jul 20 2016 Ding-Yi Chen <dchen@redhat.com> - 3.21-1
|
||||
- Upstream update to 3.21
|
||||
- Fixes Bug 1277450 - libsvm(-java) remove versioned jars from {_javadir}
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.20-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.20-4
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Tue Jan 20 2015 Ding-Yi Chen <dchen@redhat.com> - 3.20-3
|
||||
- Fix for RHEL6
|
||||
|
||||
* Tue Jan 20 2015 Ding-Yi Chen <dchen@redhat.com> - 3.20-2
|
||||
- Upstream update to 3.20
|
||||
|
||||
* Fri Dec 19 2014 Jerry James <loganjerry@gmail.com> - 3.18-7
|
||||
- Install maven POM and depmaps (bz 1175898)
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.18-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Thu Jul 10 2014 Richard Hughes <richard@hughsie.com> - 3.18-5
|
||||
- Do not use vendor prefixes on Fedora
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.18-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Apr 28 2014 Ding-Yi Chen <dchen@redhat.com> - 3.18-3
|
||||
- EPEL5 desktop files need vendor.
|
||||
|
||||
* Mon Apr 28 2014 Ding-Yi Chen <dchen@redhat.com> - 3.18-2
|
||||
- Fixed Bug 1090844 - libsvm-java has unresolved dependencies on epel6 testing
|
||||
|
||||
* Tue Apr 22 2014 Ding-Yi Chen <dchen@redhat.com> - 3.18-1
|
||||
- Upstream update to 3.18
|
||||
- svm.cpp and svm-scale.c: check return values of fscanf
|
||||
- matlab interface: Makefile no longer handles octave
|
||||
because make.m should be used
|
||||
|
||||
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 3.17-4
|
||||
- Use Requires: java-headless rebuild (#1067528)
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.17-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu Apr 25 2013 Jon Ciesla <limburgher@gmail.com> - 3.17-2
|
||||
- Drop desktop vendor tag.
|
||||
|
||||
* Sat Apr 13 2013 Ding-Yi Chen <dchen@redhat.com> - 3.17-1
|
||||
- Upstream update from 3.13 to 3.17
|
||||
svm.c and svm.h:
|
||||
add sv_indices in model structure, so users can know which training instances are SVs
|
||||
two library funs svm_get_sv_indices and svm_get_nr_sv are added
|
||||
max_iter warning moved to stderr so -q won't disable it
|
||||
svm-train.c:
|
||||
usage modified to stress that multiclass is supported
|
||||
svm-predict.c:
|
||||
add -q for svm-predict
|
||||
svm-scale.c:
|
||||
issue a warning if feature indices do not start from 1
|
||||
issue a warning for inconsistency between scaling-factor file and input file
|
||||
tools:
|
||||
subset.py is written to be much faster
|
||||
fix the bug of not freeing sv_indices
|
||||
tools/grid.py:
|
||||
-null option: allow the search on C or g only
|
||||
-resume option: resume tasks from an earlier run
|
||||
can be called as a python module
|
||||
python interface:
|
||||
local package searched first
|
||||
libsvm options can be str or list
|
||||
param.show() becomes print(param)
|
||||
tools/:
|
||||
easy.py fails in 3.15. Fix it by modifying grid.py
|
||||
svm.cpp:
|
||||
if class labels are 1 and -1, ensure labels[0] = 1 and labels[1] = -1
|
||||
initialize model->sv_indices as null in svm_load_model
|
||||
if nr_fold > # data, change nr_fold to be # data and ro leave-one-out cv
|
||||
matlab interface:
|
||||
handle the problem where output variables are not specified
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.12-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.12-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Apr 04 2012 Ding-Yi Chen <dchen@redhat.com> - 3.12-1
|
||||
- Upstream update:
|
||||
svm-toy: support loading/saving of regression data
|
||||
python interface: handle the issue of the "0th" feature if using lists
|
||||
tools/grid.py: not redrawing contour if c,g, cv doesn't change
|
||||
add setlocale when saving and loading model so not affected by users' locale
|
||||
|
||||
* Thu Jan 12 2012 Ding-Yi Chen <dchen@redhat.com> - 3.11-3
|
||||
- Fixed Bug 646154 - libsvm-python's pth is not set correctly
|
||||
|
||||
* Fri Jun 17 2011 Ding-Yi Chen <dchen@redhat.com> - 3.11-1
|
||||
- Upstream update:
|
||||
+ Set max number of iterations in the main loop of solvers
|
||||
+ matlab:
|
||||
new make.m for unix/mac/windows and for matlab/octave
|
||||
+ matlab and python:
|
||||
fix a problem that decision values returned by svmpredict is empty if number of classes = 1
|
||||
|
||||
* Fri Jun 17 2011 Ding-Yi Chen <dchen@redhat.com> - 3.1-2
|
||||
- Fix the build error on EL-5
|
||||
|
||||
* Tue Jun 14 2011 Ding-Yi Chen <dchen@redhat.com> - 3.1-1
|
||||
- svm tools is now installed in /usr/bin as svm-*.py
|
||||
i.e. tools/easy.py is linked as svm-easy.py.
|
||||
- Upstream update:
|
||||
+ MATLAB interface:
|
||||
+ Merge matlab interface to core libsvm
|
||||
+ Using mexPrintf() when calling info() in MATLAB interface.
|
||||
+ Both 32- and 64-bit windows binary files are provided
|
||||
+ Java:
|
||||
Math.random is replaced by Random in java interface
|
||||
+ Python interface:
|
||||
subroutines to get SVs
|
||||
relative path to load *.dll and *.so
|
||||
+ svm.cpp:
|
||||
null pointer check before release memory in svm_free_model_content()
|
||||
svm_destroy_model() no longer supported.
|
||||
+ svm-train.c and svm-predict.c
|
||||
Better format check in reading data labels
|
||||
+ svm-toy:
|
||||
fix the svm_toy dialog path
|
||||
+ tools:
|
||||
Using new string formatting/encoding in tools/*.py
|
||||
clearer png output, fix grid.py legend
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Tue Dec 14 2010 Ding-Yi Chen <dchen@redhat.com> - 3.0-2
|
||||
- Fixed [Bug 661404] New: Wrong symbolic link libsvm.so
|
||||
|
||||
* Mon Nov 08 2010 Ding-Yi Chen <dchen@redhat.com> - 3.0-1
|
||||
- Fixed the spelling errors of svm-toy-gtk and svm-toy-qt
|
||||
- Upstream update:
|
||||
* Move model structure to svm.h
|
||||
* Two functions for freeing a model (content or the whole model)
|
||||
* QD from Qfloat to double (better precision because SSE on 64-bit machines less accurate than i387 on 32-bit
|
||||
* exit status for checkdata.py
|
||||
* old python interface (swig) is removed
|
||||
|
||||
* Wed Jul 21 2010 David Malcolm <dmalcolm@redhat.com> - 2.91-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Wed Apr 07 2010 Ding-Yi Chen <dchen@redhat.com> - 2.91-1
|
||||
- Fixed Bug 564887 - FTBFS libsvm-2.90-3.fc13
|
||||
- Upstream update:
|
||||
* completely new python interface using ctype
|
||||
* new way to set the print_string function
|
||||
* Java: able to load model from a BufferedReader directly
|
||||
* fix grid.py so -log2c can be run under python 2.6 or after
|
||||
|
||||
* Thu Nov 05 2009 Ding-Yi Chen <dchen@redhat.com> - 2.90-2
|
||||
- Obsoletes libsvm-java for ppc and ppc64.
|
||||
|
||||
* Wed Nov 04 2009 Ding-Yi Chen <dchen@redhat.com> - 2.90-1
|
||||
- Upstream update to 2.9, change to 2.90 for conveniently update.
|
||||
+ tools/*.py can be run under python 3.0
|
||||
+ svm_set_quiet() in python interface to disable outputs
|
||||
+ check gamma < 0
|
||||
+ internal functions to be static
|
||||
|
||||
* Fri Sep 18 2009 Ding-Yi Chen <dchen@redhat.com> - 2.89-4
|
||||
- Fixed [Bug 524108] put libsvm.jar into _javadir
|
||||
+ Move livsvm.jar to _javadir
|
||||
+ Move test_applet.html to _datadir/doc/libsvm-<version>
|
||||
- Buildrequire changed to java-devel>=1.5.0, jpackage-utils
|
||||
- Require changed to java>=1.5.0, jpackage-utils
|
||||
|
||||
* Wed Sep 16 2009 Ding-Yi Chen <dchen@redhat.com> - 2.89-3
|
||||
- Fix the building for EL-5
|
||||
Note that libsvm-java on ppc and ppc64 for EL-5 is excluded,
|
||||
as java-1.6.0-openjdk-devel for them do not exist yet.
|
||||
- Change the Java buildrequires from java-sdk to java-1.6.0-openjdk-devel
|
||||
- Fix [Bug 521194] Python: 'import libsvm' doesn't work.
|
||||
By adding __init__.py to libsvm_python_dir
|
||||
|
||||
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.89-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Fri Apr 03 2009 Ding-Yi Chen <dchen@redhat.com> - 2.89-1
|
||||
- Upstream Update to 2.89:
|
||||
+ reduce input/loading time of svm-train/svm-predict by half
|
||||
+ pointer function so users can specify their own outputs
|
||||
+ remove info_flush()
|
||||
+ a extern variable libsvm_version
|
||||
+ svm-train -q option (disable outputs)
|
||||
+ svm-scale: warning if more nonzero produced
|
||||
+ easy.py: popel.communiate() to avoid some deadlock (if lots of
|
||||
outputs when #classes is large)
|
||||
|
||||
* Mon Nov 10 2008 Ding-Yi Chen <dchen@redhat.com> - 2.88-2
|
||||
- Fix java BuildRequire and Build
|
||||
- javadoc have been removed because ppc and ppc64 do not have a
|
||||
suitable package to build javadoc in F-8, nor does javadoc
|
||||
provide much useful information.
|
||||
|
||||
|
||||
* Wed Nov 05 2008 Ding-Yi Chen <dchen@redhat.com> - 2.88-0
|
||||
- Note:
|
||||
+ SO version now follows upstream, i.e. SHVER=1, as upstream start to build shared library now.
|
||||
Be aware that previously SO version of libsvm.so is libsvm.so.2.86, which looks higher than
|
||||
the current SO version libsvm.so.1.
|
||||
+ Replaced java-1.5.0-gcj-devel with java-1.6.0-openjdk-devel.
|
||||
+ java sub-package now have javadoc.
|
||||
- Upstream update
|
||||
+ From 2.87: 2008/10/13
|
||||
* svm-toy/qt updated to qt4 from qt3
|
||||
* fix a bug in svm-scale.c
|
||||
* max feature index of -r file is considered
|
||||
* Makefile: add make lib; add -Wconversion and -fPIC in Makefile
|
||||
* Add "rb" in load_model of svm.cpp
|
||||
* Simplify do_shrinking of svm.cpp
|
||||
* Change the order of loops in reconstrict_gradient of svm.cpp
|
||||
* save the number of kernel evaluations
|
||||
* Add python/setup.py
|
||||
+ From 2.88: 2008/10/30
|
||||
* better gradient reconstructions
|
||||
* issue a warning when -h 0 may be faster
|
||||
|
||||
* Tue Apr 29 2008 Ding-Yi Chen <dchen@redhat.com> - 2.86-13
|
||||
- Fix svm-toy-qt clear button does not clear.
|
||||
(from Hsiang-Fu Yu in National Taiwan University)
|
||||
|
||||
|
||||
* Thu Apr 3 2008 Ding-Yi Chen <dchen@redhat.com> - 2.86-12
|
||||
- Correct changelog date
|
||||
|
||||
* Thu Apr 3 2008 Ding-Yi Chen <dchen@redhat.com> - 2.86-11
|
||||
- Fix the Qt path problem
|
||||
|
||||
* Wed Apr 2 2008 Ding-Yi Chen <dchen@redhat.com> - 2.86-4
|
||||
- Support both Qt3 for F8 and earlier, and Qt4 for F9
|
||||
|
||||
* Tue Apr 1 2008 Ding-Yi Chen <dchen@redhat.com> - 2.86-0
|
||||
- Upstream update to 2.86
|
||||
- svm-scale for java
|
||||
- version number in svm.h and svm.m4
|
||||
- rename svmtrain.exe to svm-train.exe
|
||||
- python: while 1 --> while True, Popen -> call
|
||||
- show best parameters on the contour of grid.py
|
||||
- LIBSVM_VER_MAJOR and LIBSVM_VER_MINOR are defined in libsvm.spec instead in
|
||||
|
||||
* Tue Mar 11 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-6
|
||||
- Fix build error.
|
||||
|
||||
* Mon Mar 10 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-5
|
||||
- [Bug 436392]: Fix by copy from right place.
|
||||
- Add desktop files and icons for svm-toy-gtk and svm-toy-qt
|
||||
|
||||
* Mon Feb 11 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-4
|
||||
- Move gnuplot from BuildRequires to Requires
|
||||
|
||||
* Thu Feb 07 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-3
|
||||
- Fix linker name (libsvm.so)
|
||||
- Linked to dynamic libraries
|
||||
|
||||
* Tue Feb 05 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-2
|
||||
- Fix svm-toy-qt build error
|
||||
|
||||
* Tue Feb 05 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-1
|
||||
- Fix svm-toy-gtk build error
|
||||
|
||||
* Mon Feb 04 2008 Ding-Yi Chen <dchen@redhat.com> - 2.85-0
|
||||
- Upgrade to 2.85
|
||||
- Include guide.pdf in main package
|
||||
- Change the dependent from eclipse-ecj to java-1.5.0-gcj
|
||||
- Add svm-toy-gtk
|
||||
- Add svm-toy-qt
|
||||
|
||||
* Thu Dec 20 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-9
|
||||
- [Bug 254091] Comment 19
|
||||
- Fix python/Makefile
|
||||
|
||||
* Thu Dec 13 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-8
|
||||
- Fix improper sed.
|
||||
- Change ldconfig to /sbin/ldconfig
|
||||
- Add gnuplot dependency for libsvm-python, as tools/easy.py needs it.
|
||||
|
||||
* Mon Dec 03 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-7
|
||||
- [Bug 254091] Review Request: libsvm - A Library for Support Vector Machines (Comment #12)
|
||||
|
||||
* Wed Sep 26 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-6
|
||||
- Add defattr to each subpackage
|
||||
- Move libsvm.so to libsvm
|
||||
|
||||
* Mon Sep 24 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-5
|
||||
- Split out libsvm-java
|
||||
- Add libsvm.so
|
||||
|
||||
* Thu Aug 30 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-4
|
||||
- Refined description.
|
||||
- Fix the /tmp/python.ver problem
|
||||
|
||||
* Mon Aug 27 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-3
|
||||
- Fix dependency problem
|
||||
|
||||
* Mon Aug 27 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-2
|
||||
- Fix mock error
|
||||
- Support Python 2.4 and Python 2.5
|
||||
|
||||
* Mon Aug 27 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-1
|
||||
- Fix rpmlint error
|
||||
- Move python related files to libsvm-python
|
||||
|
||||
* Fri Aug 17 2007 Ding-Yi Chen <dchen@redhat.com> - 2.84-0
|
||||
- initial packaging
|
||||
|
||||
|
@ -0,0 +1,28 @@
|
||||
diff -up ./svm-toy/qt/Makefile.svm-toy-qt5 ./svm-toy/qt/Makefile
|
||||
--- ./svm-toy/qt/Makefile.svm-toy-qt5 2018-07-16 00:16:58.000000000 +1000
|
||||
+++ ./svm-toy/qt/Makefile 2018-07-18 18:10:40.157485623 +1000
|
||||
@@ -1,13 +1,14 @@
|
||||
# use ``export QT_SELECT=qt5'' in a command window for using qt5
|
||||
# may need to adjust the path of header files
|
||||
CXX? = g++
|
||||
-INCLUDE = /usr/include/x86_64-linux-gnu/qt5
|
||||
-CFLAGS = -Wall -O3 -I$(INCLUDE) -I$(INCLUDE)/QtWidgets -I$(INCLUDE)/QtGui -I$(INCLUDE)/QtCore -fPIC -std=c++11
|
||||
+INCLUDE = /usr/include/qt5
|
||||
+CPP_STD ?= c++11
|
||||
+CFLAGS = ${RPM_CFLAGS} -I$(INCLUDE) -I$(INCLUDE)/QtWidgets -I$(INCLUDE)/QtGui -I$(INCLUDE)/QtCore -fPIC -std=${CPP_STD}
|
||||
LIB = -lQt5Widgets -lQt5Gui -lQt5Core
|
||||
-MOC = /usr/bin/moc
|
||||
+MOC ?= /usr/bin/moc-qt5
|
||||
|
||||
svm-toy: svm-toy.cpp svm-toy.moc ../../svm.o
|
||||
- $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy $(LIB)
|
||||
+ $(CXX) $(CFLAGS) svm-toy.cpp ../../svm.o -o svm-toy-qt $(LIB)
|
||||
|
||||
svm-toy.moc: svm-toy.cpp
|
||||
$(MOC) svm-toy.cpp -o svm-toy.moc
|
||||
@@ -16,4 +17,4 @@ svm-toy.moc: svm-toy.cpp
|
||||
make -C ../.. svm.o
|
||||
|
||||
clean:
|
||||
- rm -f *~ svm-toy svm-toy.moc ../../svm.o
|
||||
+ rm -f *~ svm-toy-qt svm-toy.moc ../../svm.o
|
@ -0,0 +1,30 @@
|
||||
diff -up ./tools/easy.py.toolsDir ./tools/easy.py
|
||||
--- ./tools/easy.py.toolsDir 2013-03-31 17:06:49.000000000 +1000
|
||||
+++ ./tools/easy.py 2013-04-13 23:17:53.399526910 +1000
|
||||
@@ -12,10 +12,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 = "/usr/bin/svm-grid.py"
|
||||
gnuplot_exe = "/usr/bin/gnuplot"
|
||||
else:
|
||||
# example for windows
|
||||
diff -up ./tools/grid.py.toolsDir ./tools/grid.py
|
||||
--- ./tools/grid.py.toolsDir 2013-03-31 17:06:50.000000000 +1000
|
||||
+++ ./tools/grid.py 2013-04-13 23:18:53.964522769 +1000
|
||||
@@ -18,7 +18,7 @@ class GridOption:
|
||||
def __init__(self, dataset_pathname, options):
|
||||
dirname = os.path.dirname(__file__)
|
||||
if sys.platform != 'win32':
|
||||
- self.svmtrain_pathname = os.path.join(dirname, '../svm-train')
|
||||
+ self.svmtrain_pathname = '/usr/bin/svm-train'
|
||||
self.gnuplot_pathname = '/usr/bin/gnuplot'
|
||||
else:
|
||||
# example for windows
|
@ -0,0 +1,308 @@
|
||||
1.04: 2000/6/17, add "load" button to svm-toy. README
|
||||
file updated.
|
||||
|
||||
2.0: 2000/8, major updates. Include nu-svm, one-class svm, and svr
|
||||
|
||||
2.01: 2000/9/22, correct the calculation of obj value and number of bounded support vectors
|
||||
|
||||
2.02: 2000/9/29, replace b^2/2 newsvm to regular nu svm.
|
||||
|
||||
2.03: 2000/10/24 some improvements on the computational speed
|
||||
|
||||
2.1: 2000/12/19 Java version included, regression demonstrated in svm-toy
|
||||
|
||||
2.2: 2001/1/16 multi-class classification, nu-SVR, remove epsilon_a
|
||||
|
||||
2.3: 2001/3/15 c+-, cross validation, fix some minor bugs
|
||||
|
||||
2.31: 2001/4/12 fix one bug on one-class SVM, use float for Cache
|
||||
|
||||
2.32: 2001/9/23
|
||||
1. max line number of svm-scale now dynamic
|
||||
2. gcc 3.0 problem: now g++ always used
|
||||
3. java code in a "libsvm" package
|
||||
4. avoid a problem when compiled with Borland C++ builder
|
||||
|
||||
2.33: 2001/12/1
|
||||
Python interface added
|
||||
|
||||
2.34: 2002/6/15
|
||||
Add the subroutine svm_check_parameter in svm.cpp
|
||||
--> better error handling
|
||||
fix bug of python interface for handling different weights
|
||||
fix bug of cross validation in svm-train.c
|
||||
|
||||
2.35: 2002/6/16
|
||||
libsvm.jar was not compiled correctly in 2.34
|
||||
|
||||
2.36: 2002/8/4
|
||||
grid.py added: contour plot of CV accuracy
|
||||
fix several bugs
|
||||
|
||||
2.4: 2003/4/1
|
||||
svm.cpp
|
||||
non-psd kernel using max(...,0) in svm.cpp
|
||||
python interface
|
||||
python interface bug (nu-svm)
|
||||
grid.py
|
||||
-log2c and -log2c for grid.py
|
||||
output current best
|
||||
coarse grid as default (2)
|
||||
ssh for grid.py
|
||||
improvements of scaling
|
||||
|
||||
2.5: 2003/11/13
|
||||
subroutines for accessing decision values and number of labels.
|
||||
for svm.cpp, java, and python interface
|
||||
fix bug of svm-scale.c (about -r and -s factors)
|
||||
use fscanf but not sscanf in svm-predict.c (faster)
|
||||
makefile for windows
|
||||
add "using namespace std;" in some .java files
|
||||
improve easy.py: output cv rate, error messages printed
|
||||
better checking
|
||||
better python interface example svm_test.py
|
||||
and some minor updates
|
||||
|
||||
2.6: 2004/04/01
|
||||
Probability estimates for classification/regression
|
||||
Python interface: use swig 1.3 instead of 1.1
|
||||
Cross validation becomes a library subroutine
|
||||
A few minor corrections: (not completely listed)
|
||||
more interface functions such as getting svm_type
|
||||
print nu only when Cp=Cn
|
||||
floor division in python interface
|
||||
|
||||
2.7: 2004/11/10
|
||||
Stratified cross validation
|
||||
Better faq
|
||||
Scaling: support storing the factor of y
|
||||
A few minor updates:
|
||||
class QMatrix added
|
||||
improve the use of easy.py and grid.py on windows
|
||||
grid.py: same CV and same g: use smaller C
|
||||
sparse input for python interface
|
||||
working set selection: < to <=
|
||||
|
||||
2.71: 2004/11/20
|
||||
fix a java bug introduced from 2.6 to 2.7
|
||||
|
||||
2.8: 2005/04/01
|
||||
new working set selection via second order information
|
||||
fix minor changes/corrections:
|
||||
problem when cache size less than two kernel columns
|
||||
-v #data -> stratified CV is not loo -> ensure loo is done
|
||||
problem of typing "svm-train -c" only
|
||||
problem of "svm-train -n 1 -s 3 ..."
|
||||
python interface makefile: -fPIC for 32/64bit
|
||||
color change in svmtoy
|
||||
makefile in building QT svmtoy
|
||||
|
||||
2.81: 2005/11/20
|
||||
add a python script subset.py for subsampling
|
||||
slightly modify the working set so it's exact the same as the paper
|
||||
default cache size to 100 MB
|
||||
|
||||
2.82: 2006/04/01
|
||||
precomputed kernel
|
||||
directly implement a fast powi() function
|
||||
poly degree double to int
|
||||
minor corrections:
|
||||
java code for CV
|
||||
2.83: 2006/11/17
|
||||
Fix the bug of -t 3
|
||||
better checking load/save in svm-train.c/svm-predict.c/svm.cpp
|
||||
remove redundant var pos in svm_predict_values (thanks to Albert Strasheim)
|
||||
Better descriptions in README for the precomputed kernel
|
||||
|
||||
2.84: 2007/04/01
|
||||
Improve the shrinking code: faster for some cases
|
||||
Code more 64-bit friendly: allow large -m
|
||||
In Solver, b is replaced by p
|
||||
Subroutine max_violating_pair removed. Things are directly
|
||||
written in do_shrinking().
|
||||
Modify do_shrinking() so variable names are the same as libsvm
|
||||
document
|
||||
|
||||
2.85: 2007/11/6
|
||||
fix minor memory leak in svm-predict.c
|
||||
add tools/checkdata.py
|
||||
java to 1.5
|
||||
Makefile: CXX?
|
||||
Makefile.win: avoid warning from .net 2005
|
||||
avoid warning of gcc 4.2
|
||||
sigma 0.001 to 1e-12; in Newton direction of prob output
|
||||
2 * (long int) l avoid warning of old Visual C++
|
||||
grid.py: avoid gnuplot problem on windows
|
||||
|
||||
2.86: 2008/04/01
|
||||
svm-scale for java
|
||||
version number in svm.h and svm.m4
|
||||
rename svmtrain.exe to svm-train.exe
|
||||
python: while 1 --> while True, Popen -> call
|
||||
show best parameters on the contour of grid.py
|
||||
|
||||
2.87: 2008/10/13
|
||||
svm-toy/qt updated to qt4 from qt3
|
||||
fix a bug in svm-scale.c
|
||||
max feature index of -r file is considered
|
||||
Makefile: add make lib; add -Wconversion and -fPIC in Makefile
|
||||
Add "rb" in load_model of svm.cpp
|
||||
Simplify do_shrinking of svm.cpp
|
||||
Change the order of loops in reconstrict_gradient of svm.cpp
|
||||
save the number of kernel evaluations
|
||||
Add python/setup.py
|
||||
|
||||
2.88: 2008/10/30
|
||||
better gradient reconstructions
|
||||
issue a warning when -h 0 may be faster
|
||||
|
||||
2.89: 2009/04/01
|
||||
reduce input/loading time of svm-train/svm-predict by half
|
||||
pointer function so users can specify their own outputs
|
||||
remove info_flush()
|
||||
a extern variable libsvm_version
|
||||
svm-train -q option (disable outputs)
|
||||
svm-scale: warning if more nonzero produced
|
||||
easy.py: popel.communiate() to avoid some deadlock (if lots of
|
||||
outputs when #classes is large)
|
||||
|
||||
2.9: 2009/11/1
|
||||
tools/*.py can be run under python 3.0
|
||||
svm_set_quiet() in python interface to disable outputs
|
||||
check gamma < 0
|
||||
internal functions to be static
|
||||
|
||||
2.91: 2010/04/01
|
||||
completely new python interface using ctype
|
||||
new way to set the print_string function
|
||||
Java: able to load model from a BufferedReader directly
|
||||
fix grid.py so -log2c can be run under python 2.6 or after
|
||||
|
||||
3.0: 2010/09/13
|
||||
Move model structure to svm.h
|
||||
Two functions for freeing a model (content or the whole model)
|
||||
QD from Qfloat to double (better precision because SSE on 64-bit machines less accurate than i387 on 32-bit
|
||||
exit status for checkdata.py
|
||||
old python interface (swig) is removed
|
||||
|
||||
3.1: 2011/04/01
|
||||
MATLAB interface:
|
||||
Merge matlab interface to core libsvm
|
||||
Using mexPrintf() when calling info() in MATLAB interface.
|
||||
Both 32- and 64-bit windows binary files are provided
|
||||
Java:
|
||||
Math.random is replaced by Random in java interface
|
||||
Python interface:
|
||||
i subroutines to get SVs
|
||||
relative path to load *.dll and *.so
|
||||
svm.cpp:
|
||||
null pointer check before release memory in svm_free_model_content()
|
||||
svm_destroy_model() no longer supported.
|
||||
svm-train.c and svm-predict.c
|
||||
Better format check in reading data labels
|
||||
svm-toy:
|
||||
fix the svm_toy dialog path
|
||||
tools:
|
||||
Using new string formatting/encoding in tools/*.py
|
||||
clearer png output, fix grid.py legend
|
||||
|
||||
3.11: 2011/11/5
|
||||
Set max number of iterations in the main loop of solvers
|
||||
matlab:
|
||||
new make.m for unix/mac/windows and for matlab/octave
|
||||
matlab and python:
|
||||
fix a problem that decision values returned by svmpredict is empty if number of classes = 1
|
||||
|
||||
3.12: 2012/04/01
|
||||
svm-toy: support loading/saving of regression data
|
||||
python interface: handle the issue of the "0th" feature if using lists
|
||||
tools/grid.py: not redrawing contour if c,g, cv doesn't change
|
||||
add setlocale when saving and loading model so not affected by users' locale
|
||||
|
||||
3.13: 2012/11/06
|
||||
svm.c and svm.h:
|
||||
add sv_indices in model structure, so users can know which training instances are SVs
|
||||
two library funs svm_get_sv_indices and svm_get_nr_sv are added
|
||||
max_iter warning moved to stderr so -q won't disable it
|
||||
svm-train.c:
|
||||
usage modified to stress that multiclass is supported
|
||||
svm-predict.c:
|
||||
add -q for svm-predict
|
||||
svm-scale.c:
|
||||
issue a warning if feature indices do not start from 1
|
||||
issue a warning for inconsistency between scaling-factor file and input file
|
||||
tools:
|
||||
subset.py is written to be much faster
|
||||
|
||||
3.14: 2012/11/16
|
||||
fix a bug: we didn't re-compile windows binary after updating svm.def
|
||||
|
||||
3.15: 2013/1/27
|
||||
fix the bug of not freeing sv_indices
|
||||
tools/grid.py:
|
||||
-null option: allow the search on C or g only
|
||||
-resume option: resume tasks from an earlier run
|
||||
can be called as a python module
|
||||
python interface:
|
||||
local package searched first
|
||||
libsvm options can be str or list
|
||||
param.show() becomes print(param)
|
||||
|
||||
3.16: 2013/1/27
|
||||
tools/:
|
||||
easy.py fails in 3.15. Fix it by modifying grid.py
|
||||
|
||||
3.17: 2013/04/01
|
||||
svm.cpp:
|
||||
if class labels are 1 and -1, ensure labels[0] = 1 and labels[1] = -1
|
||||
initialize model->sv_indices as null in svm_load_model
|
||||
if nr_fold > # data, change nr_fold to be # data and ro leave-one-out cv
|
||||
matlab interface:
|
||||
handle the problem where output variables are not specified
|
||||
|
||||
3.18: 2014/04/01
|
||||
svm.cpp and svm-scale.c:
|
||||
check return values of fscanf
|
||||
matlab interface:
|
||||
Makefile no longer handles octave because make.m should be used
|
||||
|
||||
3.19: 2014/10/27
|
||||
svm.cpp:
|
||||
use size_t rather than long int in some places for 64-bit windows support
|
||||
matlab interface:
|
||||
use size_t and mwIndex to avoid type conversions
|
||||
python interface:
|
||||
use __all__
|
||||
|
||||
3.20: 2014/11/15
|
||||
matlab interface:
|
||||
fix a bug in libsvmwrite.c introduced in 3.19 (cannot run on windows)
|
||||
|
||||
3.21: 2015/12/14
|
||||
pre-built windows exe files changed from 32 to 64 bit
|
||||
matlab interface:
|
||||
now use #include "../svm.h"
|
||||
fix some minor issues in make.m of matlab interface
|
||||
|
||||
3.22: 2016/12/22
|
||||
probability output:
|
||||
if 2 classes, directly output the predited probabilities
|
||||
rather than run the iterative algorithms for multi-class situations
|
||||
java:
|
||||
libsvm.jar generated by java 1.7 rather than 1.5
|
||||
change the use of "_" in svm.java, which won't be allowed in later java
|
||||
|
||||
3.23: 2018/7/15
|
||||
add more digits of predicted file, model file, scaled data and data from matlab libsvmwrite: to %.17g
|
||||
revise svm-scale.c so features in test data that do not appear in training data are scaled to zero.
|
||||
remove unnecessary tab or space in all files
|
||||
python interface:
|
||||
add Scipy support
|
||||
add scaling (csr_find_scale_param and csr_scale functions)
|
||||
put some utility functions identical in LIBLINEAR to commonutil.py.
|
||||
functions for scaling are put in commonutil.py.
|
||||
sort column indices of csr matrix before training as feature indices must be ascending
|
||||
convert Qt version of svm-toy from Qt4 to Qt5
|
||||
remove gtk svm-toy because we stop maintaining this tool
|
||||
minor improvement of descriptions in README
|
||||
|
@ -0,0 +1,2 @@
|
||||
SHA512 (guide.pdf) = 5e97a7b76ad4217d7987c5c07f0420e780b61b82fb88fe0e6015681fabb5078980b280cec4a0a7208ea225b9fa84de878295039f4513df26f0d404a21812e44c
|
||||
SHA512 (libsvm-3.23.tar.gz) = 15e1a22a9075d3910414b0519b2ce8a93edc42be76a034d31435dc9463b08fbc510b806a3e6f64abff4ba3da771582436182e4e7d658ed2e54f311bc8cdbc121
|
Loading…
Reference in new issue