PySpark 中未加载 Elephas:没有名为 elephas.spark_model 的模块

2023-12-01

我正在尝试在集群上分发 Keras 训练并使用 Elephas 来实现这一点。但是,当运行 Elephas 文档中的基本示例时(https://github.com/maxpumperla/elephas):

from elephas.utils.rdd_utils import to_simple_rdd
rdd = to_simple_rdd(sc, x_train, y_train)
from elephas.spark_model import SparkModel
from elephas import optimizers as elephas_optimizers
sgd = elephas_optimizers.SGD()
spark_model = SparkModel(sc, model, optimizer=sgd, frequency='epoch', mode='asynchronous', num_workers=2)
spark_model.train(rdd, nb_epoch=epochs, batch_size=batch_size, verbose=1, validation_split=0.1)

我收到以下错误:

 ImportError: No module named elephas.spark_model



```Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 5.0 failed 4 times, most recent failure: Lost task 1.3 in stage 5.0 (TID 58, xxxx, executor 8): org.apache.spark.api.python.PythonException: Traceback (most recent call last):
  File "/xx/xx/hadoop/yarn/local/usercache/xx/appcache/application_151xxx857247_19188/container_1512xxx247_19188_01_000009/pyspark.zip/pyspark/worker.py", line 163, in main
    func, profiler, deserializer, serializer = read_command(pickleSer, infile)
  File "/xx/xx/hadoop/yarn/local/usercache/xx/appcache/application_151xxx857247_19188/container_1512xxx247_19188_01_000009/pyspark.zip/pyspark/worker.py", line 54, in read_command
    command = serializer._read_with_length(file)
  File /yarn/local/usercache/xx/appcache/application_151xxx857247_19188/container_1512xxx247_19188_01_000009/pyspark.zip/pyspark/serializers.py", line 169, in _read_with_length
    return self.loads(obj)
  File "/yarn//local/usercache/xx/appcache/application_151xxx857247_19188/container_1512xxx247_19188_01_000009/pyspark.zip/pyspark/serializers.py", line 454, in loads
    return pickle.loads(obj)
ImportError: No module named elephas.spark_model

    at org.apache.spark.api.python.PythonRunner$$anon$1.read(PythonRDD.scala:193)
    at org.apache.spark.api.python.PythonRunner$$anon$1.<init>(PythonRDD.scala:234)
    at org.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:152)
    at org.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:63)
    at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:323)
    at org.apache.spark.rdd.RDD.iterator(RDD.scala:287)
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87)
    at org.apache.spark.scheduler.Task.run(Task.scala:99)
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:322)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)```

另外,模型实际上已创建,我可以做print(spark_model)并会得到这个<elephas.spark_model.SparkModel object at 0x7efce0abfcd0>。错误发生在spark_model.train.

我已经使用安装了 elephaspip2 install git+https://github.com/maxpumperla/elephas,也许这是相关的。

我使用 PySpark 2.1.1、Keras 2.1.4 和 Python 2.7。 我尝试过运行它火花提交:

PYSPARK_DRIVER_PYTHON=`which python` spark-submit --driver-memory 1G  filname.py

也可以直接在 Jupyter Notebook 中。两者都会导致同样的问题。

谁能给我任何指示吗?这是 elephas 相关的还是 PySpark 问题?

编辑:我还上传了虚拟环境的 zip 文件并在脚本中调用它:

virtualenv spark_venv --relocatable
cd spark_venv 
zip -qr ../spark_venv.zip *

PYSPARK_DRIVER_PYTHON=`which python` spark-submit --driver-memory 1G --py-files spark_venv.zip filename.py

然后在文件中我这样做:

sc.addPyFile("spark_venv.zip")

导入此 keras 后没有任何问题,但我仍然得到elephas上面的错误。


我找到了如何将虚拟环境正确加载到主服务器和所有从服务器的解决方案:

virtualenv venv --relocatable
cd venv 
zip -qr ../venv.zip *

PYSPARK_PYTHON=./SP/bin/python spark-submit --master yarn --deploy-mode cluster --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./SP/bin/python --driver-memory 4G --archives venv.zip#SP filename.py

GitHub 问题中的更多详细信息:https://github.com/maxpumperla/elephas/issues/80#issuecomment-371073492

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PySpark 中未加载 Elephas:没有名为 elephas.spark_model 的模块 的相关文章

  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • python future 和元组解包

    实现像使用 future 进行元组解包这样的事情的优雅 惯用的方法是什么 我有这样的代码 a b c f x y g a b z h y c 我想将其转换为使用期货 理想情况下我想写一些类似的东西 a b c ex submit f x y
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • 忽略 Mercurial hook 中的某些 Mercurial 命令

    我有一个像这样的善变钩子 hooks pretxncommit myhook python path to file myhook 代码如下所示 def myhook ui repo kwargs do some stuff 但在我的例子中
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • Apache Spark 两个 RDD 之间的差异

    假设我有这个示例作业 在带有 Java API 的 Groovy 中 def set1 def set2 0 upto 10 set1 lt lt it 8 upto 20 set2 lt lt it def rdd1 context pa
  • 如何从Python中的字符串中提取变量名称和值

    我有一根绳子 data var1 id 12345 name John White python中有没有办法将var1提取为python变量 更具体地说 我对字典变量感兴趣 这样我就可以获得变量的值 id和name python 这是由提供
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 如何在 python 中没有 csv.reader 迭代器的情况下解析单行 csv 字符串?

    我有一个 CSV 文件 需要重新排列和重新编码 我想跑 line line decode windows 1250 encode utf 8 在由 CSV 读取器解析和分割之前的每一行 或者我想自己迭代行 运行重新编码 并仅使用单行解析表单
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • Tkinter - 浮动窗口 - 调整大小

    灵感来自this https stackoverflow com a 22424245 13629335问题 我想为我的根窗口编写自己的调整大小函数 但我刚刚注意到我的代码显示了一些性能问题 如果你快速调整它的大小 你会发现窗口没有像我希望
  • 您可以将操作直接应用于map/reduce/filter 中的参数吗?

    map and filter通常可以与列表理解互换 但是reduce并不那么容易被交换map and filter 此外 在某些情况下我仍然更喜欢函数语法 但是 当您需要对参数本身进行操作时 我发现自己正在经历语法体操 最终必须编写整个函数
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 具有自定义值的 Django 管理外键下拉列表

    我有 3 个 Django 模型 class Test models Model pass class Page models Model test models ForeignKey Test class Question model M
  • Elastic Beanstalk 中的 enum34 问题

    我正在尝试在 Elastic Beanstalk 中设置 django 环境 当我尝试通过requirements txt 文件安装时 我遇到了python3 6 问题 File opt python run venv bin pip li

随机推荐

  • Python频率检测

    好吧 我想做的是一种音频处理软件 它可以检测流行频率 如果该频率播放足够长的时间 几毫秒 我知道我得到了积极的匹配 我知道我需要使用 FFT 或类似的东西 但在这个数学领域我很糟糕 我确实在互联网上搜索过 但没有找到只能做到这一点的代码 我
  • 如何使用 bash 或 python 有选择地删除列和行

    UPDATE 我怀疑我最初输入的输入和所需的输出数据与我所拥有的空白数据并不完全相同 我现在已经输入了新的输入数据和所需的输出数据 我目前有一个数据集 如下所示 INPUT Hybridization REF TCGA 13 A5FT 01
  • 将 numpy.datetime64 转换为纪元时间

    我正在尝试将包含 numpy datetime64 的 numpy 数组 new feat dt 转换为纪元时间 我想确保转换发生时日期保持 utc 格式 我正在使用 numpy 1 16 4 和 python3 6 我尝试了两种转换方式
  • redux saga,有条件地节流/反跳?

    当横幅在屏幕上可见时 我会记录横幅展示次数 当用户滚动时 同一横幅可以在短时间内多次可见 我想阻止这种情况发生 第一想法是 throttle是预防它的完美方法 但是当你在一个页面上有多个横幅时 throttle如果受到限制 则不会在屏幕中记
  • 将简单的物理应用到 SceneKit XCODE SWIFT 中的 .scn 对象

    嘿 下面我有一个正常的球体 我创建它只是为了测试我的游戏场景 世界是否具有物理特性 所以我只是将球放入场景 世界中 就很完美了 它受到重力的影响 然后我尝试对 scn 文件执行完全相同的操作 我赋予它的物理性质与下落的测试球体对重力的影响相
  • 混合 JPA 注释和 XML 配置

    我有一个相当大的 新 项目 其中我们使用 JPA 映射注释了许多域类 现在是时候实现许多命名查询了 一些实体可能有多达 15 20 个命名查询 我认为在注释中编写这些命名查询会使源文件变得混乱 因此正在考虑将它们放入 XML 映射文件中 这
  • 将 Github Markdown 语言与 CSS 混合

    如何将CSS添加到github的markdown语言中 我已经能够通过使用 html 标签内的 style 属性来做到这一点 例如 p style text align center This is some random text p 但
  • R:列集中最后一个非 NA 值

    我正在寻找管道支持的以下问题的解决方案 我的数据看起来像这样 tibble column set 1 1 c 1 2 3 column set 1 2 c 2 3 NA column set 1 3 c 3 NA NA column set
  • jQuery 使用 jQuery.support 而不是 jQuery.browser 检测 IE6

    我没有找到使用 jquery support 而不是不再支持的 jquery browser 来检测 IE6 的明确方法 我还需要考虑怪癖模式 呃 我在 Stack 上看到了几篇文章 但它们都引用了 jquery browser 并且 jq
  • 我可以关闭 cmd 中这个“for”循环输入的 echo 吗?

    我试图使用这个优秀的答案 有没有一种方法可以让一个命令行执行以下命令 删除所有大小为零的文件 而不打印任何输出 for r F in do if zF 0 del F 它显示所有扩展的命令 当大小不为零时也是如此 我尝试过使用如何在 cmd
  • C++ 中首选的构建器模式是否有替代方案?

    我来自 Java 那里大量使用了构建器模式 e g Foo foo new FooBuilder setBar 43 setBaz hello world enableCache true build 例如 Automapper 是一个流行
  • 列表

    我有一个关于泛型的 Java 问题 我声明了一个通用列表 List
  • WebApi2 IHttpActionResult 强类型返回值

    这样做是可能的 但并不理想 一个大大简化的示例 Serializable public class MyRecord public string key get set public string data get set public a
  • 如何克隆表中的行而不克隆其中输入元素的值?

    我正在尝试向表中添加一行 我发现我们可以使用clone 复制现有行的方法 我的表有两个不同的文本输入 tr 元素 克隆最后一行也会复制我的文本输入中的值 这是我不想要的 如何克隆行而不重复值 这是我到目前为止所拥有的 table 1 tr
  • C语言中的位运算

    所以如果我有一个 32 位的整数 前 28 位 左起 用于存储内存块的大小 接下来的两位是 0 最后两位是 存储如果它是最后一个节点然后 存储是否使用 分别 我想做的是知道如何在 isLast 操作和 isUsed 操作上打开和关闭标志 如
  • Apps 脚本高级日历 API - 插入带有标题的新事件 - 错误“源网址无效:”

    我正在使用 内置 AdvancedApps 脚本日历 API 不是 REST API 并尝试创建新的日历事件 但我收到错误 无效的来源网址 我直接从日历中获取日历 ID 所以我认为不是这样的 function createCalEvent
  • 无法在 MacOS Mojave 和 R 3.5.2 上加载 rJava

    我问过了之前有过类似的问题 但没有得到任何我可以实际实施的答案 我也阅读了答案here and here 但无法实现其中任何一个 部分是因为没有答案实际上回溯其所有步骤 Problem 我在 R 3 5 2 和 MacOS Mojave 1
  • SQL INSERT - 无效的列名

    正如你们中的一些人可能从我之前的文章中看到的那样 我是使用 C 创建网站的新手 尽管我有相当多的使用它来创建 Windows 窗体应用程序的经验 强大的力量正在诱惑我远离 PHP 但我在我认为的基础知识上一直失败 无论如何 这是我的问题 我
  • Node JS 不断收到 Failed to load resources 错误消息

    我目前正在测试 Node js 应用程序并尝试添加 我的代码 但不断收到错误消息 Failed to load resource the server responded with a status of 404 Not Found htt
  • PySpark 中未加载 Elephas:没有名为 elephas.spark_model 的模块

    我正在尝试在集群上分发 Keras 训练并使用 Elephas 来实现这一点 但是 当运行 Elephas 文档中的基本示例时 https github com maxpumperla elephas from elephas utils