Я пытаюсь классифицировать экземпляр, используя файл .model, который я создал в графическом интерфейсе Weka. Кажется, я успешно классифицировал тестовый экземпляр, однако я не уверен, могу ли я успешно загрузить мои .model файл и с ошибкой компилятора заглушки.
Я попытался удалить extends AppCompatActivity
, и если это имеет какое-то значение в загрузке .model. Оказывается, чтобы использовать getAssets()
, код должен быть в действии. Тем не менее, я все еще не уверен, есть ли у модели загрузка и необычная ошибка компилятора. Я следовал базовым принципам работы @ davidmascharka над GitHub (он также загружает модель WEKA из ресурсов), но моя не компилируется.
Вот мой код:
package com.example.owner.introductoryapplication;
import android.support.v7.app.AppCompatActivity;
import weka.classifiers.Classifier;
import weka.classifiers.rules.DecisionTable;
import weka.core.Attribute;
import weka.core.DenseInstance;
import weka.core.Instances;
import java.util.ArrayList;
public class Test extends AppCompatActivity {
public static void main(String[] args) {
Test test = new Test();
test.start();
}
public void start() {
//LOADS THE MODEL...------------------------------------------------------
String rootPath = "/assets/";
String fileName = "PGBD_DecisionTableUPD.model";
Classifier cls = null;
try {
//cls = (Classifier) weka.core.SerializationHelper.read(rootPath + fileName);
cls = (DecisionTable) weka.core.SerializationHelper.read(getAssets().open(fileName));
} catch (Exception e) {
e.printStackTrace();
}
}
}
А вот мой вывод ошибки:
Exception in thread "main" java.lang.RuntimeException: Stub!
at android.content.Context.<init>(Context.java:67)
at android.content.ContextWrapper.<init>(ContextWrapper.java:30)
at android.view.ContextThemeWrapper.<init>(ContextThemeWrapper.java:40)
at android.app.Activity.<init>(Activity.java:643)
at android.support.v4.app.SupportActivity.<init>(ComponentActivity.java:46)
at android.support.v4.app.FragmentActivity.<init>(FragmentActivity.java:68)
at android.support.v7.app.AppCompatActivity.<init>(AppCompatActivity.java:62)
at com.example.owner.introductoryapplication.Test.<init>(Test.java:13)
at com.example.owner.introductoryapplication.Test.main(Test.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)
Process finished with exit code 1
Я ожидаю, что программа хотя бы скомпилируется! Я понятия не имею, почему это не так. Я попытался изменить порядок своих зависимостей, надеясь, что это что-то изменит, но безуспешно.
Есть идеи?
Заранее спасибо.