-1

我一直在尝试使用以下代码准备 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
4

1 回答 1

0

您向构造函数提供了错误的文件,“xor.data”是一个数据文件,而不是具有 ANN 配置的“net”文件。

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

struct fann * fann_create_from_file(const char * configuration_file);

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

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

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

于 2017-08-24T21:52:55.690 回答