尝试在java中执行fannj时出错

时间:2015-08-24 05:22:08

标签: java fann

我一直在尝试使用代码准备一个样本培训文件:

 Fann fann = new Fann( "C:\Documents and Settings\user\My Documents\Downloads\fannj-master\src\test\resources\com\googlecode\fannj\xor.data" );
float[] inputs = new float[]{ -1, 1 };
float[] outputs = fann.run( inputs );
fann.close();

xor.data文件有:

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

遇到的错误是:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at project.Project.main(Project.java:23)
Caused by: java.lang.UnsupportedOperationException
    at java.util.AbstractMap.put(AbstractMap.java:203)
    at com.googlecode.fannj.Fann.<clinit>(Fann.java:54)
    ... 1 more
Java Result: 1

1 个答案:

答案 0 :(得分:0)

您正在向构造函数提供错误的文件,&#34; xor.data&#34;是一个数据文件而不是&#34; net&#34;具有ANN配置的文件。

您可以看到构造函数调用的方法:

struct fann * fann_create_from_file(const char * configuration_file);

如果你没有&#34; net&#34;您的ANN文件,您可以使用以下方法通过C代码创建此类文件:

void fann_save(struct fann * ann, const char * configuration_file);

之后,您可以从java加载已配置的网络。