当前位置: 首页 > 知识库问答 >
问题:

SparkML(Scala)中的并行训练独立模型

庄浩言
2023-03-14

假设我有3个简单的SparkML模型,它们将使用相同的数据帧作为输入,但彼此完全独立(在运行序列和使用的数据列中)。

我想到的第一件事是,只需使用阶段数组中的3个模型创建一个管道数组,然后运行总体拟合/变换来获得完整的预测等等。

但是,我的理解是,因为我们将这些模型作为序列堆叠在单个管道中,Spark不一定会并行运行这些模型,即使它们彼此完全独立。

也就是说,有没有办法并行拟合/转换3个独立模型?我想到的第一件事是创建一个生成管道的函数/对象,然后运行map或parmap,在那里我将运行map函数中的3个模型,但我不知道这是否会利用并行性。

这些也不是真正的交叉验证类型模型;我想要的工作流是:

  1. 准备我的数据帧

因此,独立性来自这样一个事实,即这些单独的模型没有链接,可以按原样运行。

谢谢

共有1个答案

关飞翔
2023-03-14

SparkML支持对同一管道进行并行评估https://spark.apache.org/docs/2.3.0/ml-tuning.html.但是对于不同的模型,我还没有看到任何实现。如果您使用并行集合来包装管道,它安装的第一个模型将获得Spark应用程序的资源。也许使用RDD api,您可以做些什么,但是使用Spark ML...并行训练不同的管道,并使用不同的管道模型生成不同的并行阶段,目前这是不可能的。

 类似资料:
  • 问题内容: 我想知道是否有可能保存经过部分训练的Keras模型并在再次加载模型后继续进行训练。 这样做的原因是,将来我将拥有更多的训练数据,并且我不想再次对整个模型进行训练。 我正在使用的功能是: 编辑1:添加了完全正常的示例 对于10个纪元后的第一个数据集,最后一个纪元的损失将为0.0748,精度为0.9863。 保存,删除和重新加载模型后,第二个数据集上训练的模型的损失和准确性分别为0.171

  • 在之前的描述中,我们通常把机器学习模型和训练算法当作黑箱子来处理。如果你实践过前几章的一些示例,你惊奇的发现你可以优化回归系统,改进数字图像的分类器,你甚至可以零基础搭建一个垃圾邮件的分类器,但是你却对它们内部的工作流程一无所知。事实上,许多场合你都不需要知道这些黑箱子的内部有什么,干了什么。 然而,如果你对其内部的工作流程有一定了解的话,当面对一个机器学习任务时候,这些理论可以帮助你快速的找到恰

  • 在之前的描述中,我们通常把机器学习模型和训练算法当作黑箱子来处理。如果你实践过前几章的一些示例,你惊奇的发现你可以优化回归系统,改进数字图像的分类器,你甚至可以零基础搭建一个垃圾邮件的分类器,但是你却对它们内部的工作流程一无所知。事实上,许多场合你都不需要知道这些黑箱子的内部有什么,干了什么。 然而,如果你对其内部的工作流程有一定了解的话,当面对一个机器学习任务时候,这些理论可以帮助你快速的找到恰

  • 我可以在AWS Sagemaker中通过评估模型来训练多个模型train.py脚本,以及如何从多个模型中获取多个指标? 任何链接、文档或视频都很有用。

  • 训练视图 浏览训练视图 上下滑动屏幕。 或 将手腕向内再向外轻快移动。 观看如何在训练期间使用 Polar 应用程式的相关视频教程。 您在训练视图上看到的信息取决于您对所选的运动内容的编辑。您可以在 Polar Flow 应用程式或 Polar Flow 网络服务中对每项运动内容进行设置。 例如,训练视图可提供以下信息: 您的当前心率 心率 ZonePointer 训练时长 训练期间到目前为止完成

  • 我发现很难创建自己的openNLP模型。谁能告诉我,如何拥有自己的模型。培训应该如何进行。 输入应该是什么,输出模型文件将存储在哪里。