Je suis nouveau sur scala et j'écris une application Spark dans Scala et j'ai besoin d'utiliser la fonction axpy
de org.apache.spark.mllib.linalg.BLAS
. Cependant, il semble ne pas être accessible aux utilisateurs. Au lieu de cela, j'essaie d'importer le com.github.fomil.netlib
et y accéder directement. Mais je pourrais soit. Je dois multiplier à DenseVector.Comment utiliser la bibliothèque BLAS dans Spark?
Répondre
Ajouter MLlib à votre projet
libraryDependencies += "org.apache.spark" %% "spark-mllib" % "1.3.0"
En ce moment, la classe BLAS au sein MLlib est marquée private[spark]
dans l'étincelle source code. Qu'est-ce que cela signifie, c'est qu'il n'est pas accessible à l'extérieur pour se déclencher comme vous semblez avoir compris. En bref, vous ne pouvez pas l'utiliser dans votre code.
Si vous voulez utiliser des classes netlib-java, vous devez directement ajouter la dépendance suivante à votre projet
libraryDependencies += "com.github.fommil.netlib" % "all" % "1.1.2" pomOnly()
Cela devrait vous permettre d'importer la classe BLAS. Remarque, je n'ai pas vraiment essayé de l'utiliser, mais je suis capable d'exécuter BLAS.getInstance()
sans problème. Il peut y avoir quelques complexités dans l'installation sur certaines plates-formes Linux comme décrit ici - https://github.com/fommil/netlib-java.
Je l'ai dans mon projet, et inclus le 11org.apache.spark.mllib.linalg.BLAS'' mais quand j'écris '' BLAS.axpy() '' il est dit 'axpy' n'est pas un membre de BLAS ~ J'ai lu quelque part que BLAS n'est pas exposé pour les utilisateurs. Des alternatives? –
qu'est-ce qui vous donne cette erreur? Le compilateur dans sbt la console? Un ide? –
Je travaille dans Scala-IDE, il affiche un message d'erreur et n'est pas compilé. –