使用映射时Scala类型不匹配

使用映射时Scala类型不匹配,scala,dictionary,nd4j,Scala,Dictionary,Nd4j,我试图使用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 -

我试图使用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))
                                  ^
它还可以通过反转键和值类型来工作


我不明白发生了什么。

我在gitter的Scala频道上寻求帮助,找到了答案

问题是nd4s对->运算符进行隐式转换,从而导致此问题


我在gitter的Scala频道上寻求帮助,找到了答案

问题是nd4s对->运算符进行隐式转换,从而导致此问题

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