我一直在尝试使用代码准备一个样本培训文件:
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
答案 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加载已配置的网络。