无法在 jupyter notebook 中导入 sparkdl

Posted

技术标签:

【中文标题】无法在 jupyter notebook 中导入 sparkdl【英文标题】:Not able to import sparkdl in jupyter notebook 【发布时间】:2019-08-18 01:12:19 【问题描述】:

我正在尝试在 jupyter notebook 中使用 spark 深度学习库(https://github.com/databricks/spark-deep-learning)。

当我尝试在 jupyter notebook 中“导入 sparkdl”时,出现错误“未找到模块”。

当我在 cli 中运行以下命令时

pyspark --packages databricks:spark-deep-learning:1.5.0-spark2.4-s_2.11

我可以在 spark shell 中导入 sparkdl 及其工作。

如何在 jupyter notebook 中使用这个库?

【问题讨论】:

【参考方案1】:

您可以检查几点:

    在 jupyter notebook 单元格中使用 %conda list|grep "sparkdl" 来检查 sparkdl 是否如您所愿安装。 虚拟环境。 sparkdl 是否已安装到另一个虚拟环境中?

希望这可以帮助你。

【讨论】:

【参考方案2】:

这是我在 PySpark 2.4 中使用的 sn-p。您需要连接到网络才能安装该软件包。

# Import libraries
from pyspark.sql import SparkSession

# Creating SparkSession
spark = (SparkSession
            .builder
            .config('spark.jars.packages', 'databricks:spark-deep-learning:1.5.0-spark2.4-s_2.11')
            .getOrCreate()
)

# Import Spar-Deep-Learning-Pipelines
import sparkdl

【讨论】:

此解决方案需要网络连接。如果有人知道如何从本地 .jar 文件安装 sparkdl,我会很感兴趣。【参考方案3】:

首先您必须使用以下命令下载 sparkdl jar 文件:

wget https://repos.spark-packages.org/databricks/spark-deep-learning/1.5.0-spark2.4-s_2.11/spark-deep-learning-1.5.0-spark2.4-s_2.11.jar

其次,您必须使用以下命令安装 sparkdl pypi 包:

pip install sparkdl

那么你就可以在jupyter notebook中使用下面的sn-p了:

    import findspark
    findspark.init()

    from pyspark.conf import SparkConf
    from pyspark import SparkContext
    conf = SparkConf().set("spark.jars", "./spark-deep-learning-1.5.0-spark2.4-s_2.11.jar")
    conf.setAppName("ML")
    sc = SparkContext(conf=conf)

    from pyspark.sql import SparkSession
    spark = SparkSession(sc)

    import sparkdl

下载jar文件Krystof后,此解决方案不需要网络连接

【讨论】:

以上是关于无法在 jupyter notebook 中导入 sparkdl的主要内容,如果未能解决你的问题,请参考以下文章

在 Jupyter Notebook 中导入 numpy 时出现问题

在 Jupyter notebook 中导入本地模块

scikit-learn 没有在 jupyter notebook 中导入

为什么我不能在我的Jupyter Notebook(Python 3.6)中导入utils,尽管它已经安装了?

如何:在支持 GPU 的 Conda 中导入 Jupyter Notebook 中的 TensorFlow?

在 ipython/Jupyter notebook 中导入 scikit-learn