2

ニューラル ネットワークと NLP は初めてです。このライブラリを見つけました: DeepLearning4J。私はそれを機能させようとしていますが、この命令を実行するたびに:

Collection<String> similar = vec.wordsNearest("word_to_search", 10);

検索している単語がネットワークにマップされている場合、次の例外が発生します。

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 が原因です。バージョンを何度もチェックしましたが、これが現在インポートしているものです。

  • akka-actor_2.11-2.4-M3.jar
  • akka-cluster_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
  • ルセンコア-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
  • 反射-0.9.10.jar
  • scala-library-2.12.0-M2.jar
  • セレン-サーバー-スタンドアロン-2.47.1.jar

誰かが私に問題を説明できますか?

4

1 に答える 1

3

このエラーは、DeepLearning4J がメソッドを呼び出そうとしましたINDArray INDArray.mean(int value)が、このメソッドが見つからなかったことを示しています。

nd4j 0.4-rc3.4 ソース コードを見ると、meanメソッドが実際に可変引数int...を入力として受け取ることがわかります。これは ではないintため、エラーがスローされます。

この変更は、バージョンが からにバンプされたときに、このコミットによって行われました。nd4j0.0.3.5.5.50.4-rc0

nd4jその結果、バージョンにダウングレードする必要があります0.0.3.5.5.5。このダウングレードにより、これが DeepLearning4J が依存している実際のバージョンであるため、これ以上の非互換性はなくなります。の Maven 依存関係でそれを確認できますdeeplearning4j-core-0.0.3.3.4.alpha2

于 2015-09-25T13:12:35.490 に答える