将Spark Dataframe输入DeepLearning4J模型

时间:2017-06-13 09:55:49

标签: scala apache-spark deeplearning4j nd4j

我的spark dataframe(df)中的数据有24个要素,第25列是我的目标变量。我希望将dl4j模型放在此dataset上,该模型以org.nd4j.linalg.api.ndarray.INDArray, org.nd4j.linalg.dataset.Datasetorg.nd4j.linalg.dataset.api.iterator.DataSetIterator的形式输入。如何将dataframe转换为所需类型?

我也尝试过使用Pipeline方法直接向模型输入spark数据帧。但是dl4j-spark-ml的依赖性不起作用。我的build.sbt文件是:

scalaVersion := "2.11.8"

libraryDependencies += "org.deeplearning4j" %% "dl4j-spark-ml" % "0.8.0_spark_2-SNAPSHOT"

libraryDependencies += "org.deeplearning4j" % "deeplearning4j-core" % "0.8.0"

libraryDependencies += "org.nd4j" % "nd4j" % "0.8.0"

libraryDependencies += "org.nd4j" % "nd4j-native-platform" % "0.8.0"

libraryDependencies += "org.nd4j" % "nd4j-backends" % "0.8.0"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.0.1"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.0.1" 

有人可以从这里引导我吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用已读取spark.ml集成的快照。 如果要使用快照,请添加oss sonatype存储库:     https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-examples/pom.xml#L16 撰写本文时的版本是: 0.8.1-SNAPSHOT

请使用示例repo验证最新版本: https://github.com/deeplearning4j/dl4j-examples/blob/master/pom.xml#L21

你不能混合dl4j的版本。您尝试使用的版本非常已过期(超过一年)。请升级到最新版本。

可以在此处找到新的spark.ml集成示例: https://github.com/deeplearning4j/deeplearning4j/tree/master/deeplearning4j-scaleout/spark/dl4j-spark-ml/src/test/java/org/deeplearning4j/spark/ml/impl

确保添加正确的依赖项,这通常是类似的 org.deeplearning4j:dl4j-spark-ml _ $ {你的SCALA BINARY VERSION}:0.8.1_spark _ $ {你的SPARK VERSION(1或2)-SNAPSHOT