1

INDArrays我试图使用 nd4s 库创建一个从整数到 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 回答