我正在尝试使用nd4s库创建一个从整数到Nd4j数组(如INDArrays
)的映射。我正在努力解决这个问题:
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])
它也可以通过反转键和值类型来实现。
我无法理解发生了什么。
答案 0 :(得分:0)
我通过在gitter上的Scala频道上寻求帮助找到了答案。
问题是nd4s对 - &gt;执行隐式转换。运营商,导致这个问题。
https://github.com/deeplearning4j/nd4s/blob/master/src/main/scala/org/nd4s/Implicits.scala#L143-L176