首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DeepLearning4J NoSuchMethodError

DeepLearning4J NoSuchMethodError
EN

Stack Overflow用户
提问于 2015-09-25 12:56:34
回答 1查看 736关注 0票数 2

我对神经网络和NLP很陌生。我找到了一个库: DeepLearning4J。我试图让它开始工作,但是每当我执行这条指令时:

代码语言:javascript
复制
Collection<String> similar = vec.wordsNearest("word_to_search", 10);

如果我正在搜索的单词被映射到网络中,则会得到以下异常:

代码语言:javascript
复制
java.lang.IllegalArgumentException: XERBLA: Error on argument 6 (LDA) in SGEMV
at org.jblas.NativeBlas.sgemv(Native Method)
at org.nd4j.linalg.jblas.blas.JblasLevel2.sgemv(JblasLevel2.java:25)
at org.nd4j.linalg.api.blas.impl.BaseLevel2.gemv(BaseLevel2.java:53)
at org.nd4j.linalg.api.ndarray.BaseNDArray.mmuli(BaseNDArray.java:2569)
at org.nd4j.linalg.api.ndarray.BaseNDArray.mmul(BaseNDArray.java:2377)
at org.deeplearning4j.models.embeddings.wordvectors.WordVectorsImpl.wordsNearest(WordVectorsImpl.java:290)
at org.deeplearning4j.models.embeddings.wordvectors.WordVectorsImpl.wordsNearest(WordVectorsImpl.java:337)
at word2vec.Word2VecTest.main(Word2VecTest.java:74)
Exception in thread "main" java.lang.NoSuchMethodError: org.nd4j.linalg.api.ndarray.INDArray.mean(I)Lorg/nd4j/linalg/api/ndarray/INDArray;
at org.deeplearning4j.models.embeddings.wordvectors.WordVectorsImpl.wordsNearest(WordVectorsImpl.java:283)
at word2vec.Word2VecTest.main(Word2VecTest.java:89)

我知道NoSuchMethodError可能是由不同版本的库造成的。在这种特殊情况下,这可能是由nd4j引起的。我花了很多时间检查了这些版本,这就是我目前正在导入的内容:

  • 阿克卡-演员_2.11-2.4-M3.jar
  • akka-簇2.11-2.4-M3.jar
  • akka-remote_2.11-2.4-M3.jar
  • akka-slf4j_2.11-2.4-M3.jar
  • byte-buddy-0.6.15.jar
  • config-1.3.0.jar
  • deeplearning4j-core-0.0.3.3.4.alpha2.jar
  • deeplearning4j-nlp-0.0.3.3.4.alpha2.jar
  • deeplearning4j-scaleout-akka-0.0.3.3.4.alpha2.jar
  • deeplearning4j-ui-0.0.3.3.4.alpha2.jar
  • javassist-3.12.1.GA.jar
  • jblas-1.2.4.jar
  • jcublas-6.5.jar
  • lucene-analyzers-common-4.10.3.jar
  • lucene-core-4.10.3.jar
  • nd4j-api-0.4-rc3.4.jar
  • nd4j-bytebuddy-0.4-rc3.4.jar
  • nd4j-jblas-0.4-rc3.4.jar
  • nd4j-jcublas-common-0.4-rc3.4.jar
  • netty-3.10.4.Final.jar
  • protobuf-java-2.6.1.jar
  • reflections-0.9.10.jar
  • scala-library-2.12.0-M2.jar
  • selenium-server-standalone-2.47.1.jar

有人能给我解释一下这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-25 13:12:35

错误告诉您,DeepLearning4J试图调用方法INDArray INDArray.mean(int value),但未找到此方法。

查看nd4j 0.4-rc3.4源代码,您可以看到mean方法实际上以vararg int...作为输入。因为这不是int,所以会引发错误。

这一变化是由此承诺nd4j将版本从0.0.3.5.5.5跳到0.4-rc0时做出的。

因此,您需要将nd4j降级为0.0.3.5.5.5版本。通过这次降级,您将不再有任何不兼容性,因为这是DeepLearning4J所依赖的实际版本。您可以在deeplearning4j-core-0.0.3.3.4.alpha2的Maven依赖项中看到这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32782728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档