1

INDArraysnd4s ライブラリを使用して、整数から Nd4j 配列 (のように) へのマップを作成しようとしていました。私はこの問題に苦労しています:

import org.nd4j.linalg.factory._
scala> Map(0 -> Nd4j.create(2))
<console>:17: error: type mismatch;
 found   : org.nd4j.linalg.api.ndarray.INDArray
 required: Int
              Map(0 -> Nd4j.create(2))
                                  ^

キーの種類を文字列に設定すると、次のように機能します。

scala> Map("0" -> Nd4j.create(2))
res28:     scala.collection.immutable.Map[String,org.nd4j.linalg.api.ndarray.INDArray] = Map(0 -> [ 0.00, 0.00])

キーと値の型を逆にすることでも機能します。

何が起こっているのか理解できません。

4

1 に答える 1

0

gitter の Scala チャネルでヘルプを求めて、答えを見つけました。

問題は、nd4s が -> 演算子の暗黙的な変換を行い、この問題につながることです。

https://github.com/deeplearning4j/nd4s/blob/master/src/main/scala/org/nd4s/Implicits.scala#L143-L176

于 2015-11-30T18:07:00.427 に答える