2013-10-27 2 views

ответ

3

У вас нет setup libsvm, просто используйте библиотечную оболочку для языка, который вы используете, для разработки приложения для Android (Java, я думаю?). Wrapper включен в официальный релиз. А также включает в себя образец использования этой конкретной библиотеки. Здесь нет ничего особенного - если вы знаете, как разрабатывать приложение для Android, то использование дополнительной библиотеки не должно быть проблемой. Если вы не знаете, как разработать такое приложение, то, начиная с распознавания движения, это плохая идея. То же самое касается возможности использования SVM для чего угодно. Если вы никогда не использовали SVM, было бы лучше начать с чего-то более простого, например, написать «немобильную» версию приложения и ознакомиться с этой моделью. В противном случае вероятность сбоя довольно велика.

+0

привет @lejlot. Благодарю вас за ваш ответ. Можете ли вы помочь мне настроить libsvm в Android. У меня есть опыт разработки Adroid и им, используя libsvm в моем компьютере, также для извлечения шаблонов из набора данных и выполнения некоторых прогнозов. –

1

Извините за мой предыдущий неправильный формат ответа

Поскольку libsvm написана на C, вы можете легко обернуть код через интерфейс JNI и использовать libsvm в Java.

Обертка можно найти в: https://github.com/yctung/AndroidLibSvm

Например, как только вы импортировать этот проект в Android студии, вы можете позвонить

jniSvmTrain(String options); 

сделать обучение SVM с тем же интерфейсом оригинального libsvm ,

Если вы посмотрите на код, это просто обертка оригинального «SVM-train.c» в libsvm

#include "./libsvm/svm-train.h" 
// helper function to be called in Java for making svm-train 
extern "C" void Java_edu_umich_eecs_androidlibsvm_MainActivity_jniSvmTrain(JNIEnv *env, jobject obj, jstring cmdIn){ 
    const char *cmd = env->GetStringUTFChars(cmdIn, 0); 
    debug("jniSvmTrain cmd = %s", cmd); 

    std::vector<char*> v; 

    // add dummy head to meet argv/command format 
    std::string cmdString = std::string("dummy ")+std::string(cmd); 
    cmdToArgv(cmdString, v); 

    // make svm train by libsvm 
    svmtrain::main(v.size(),&v[0]); 

    // free vector memory 
    for(int i=0;i<v.size();i++){ 
     free(v[i]); 
    } 

    // free java object memory 
    env->ReleaseStringUTFChars(cmdIn, cmd); 
} 
0

«Setuping» Я думаю, что вы просите, чтобы добавить файл JAR LIBSVM обеспечивают как библиотека для вашего проекта студии Android. Вы можете посмотреть здесь:

Android Studio: Add jar as library?

На сайте LIBSVM вы можете скачать почтовый файл с файлом JAVA баночки внутри и примерами использования.

Смежные вопросы