当前位置: 首页 > news >正文

使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测

推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景

简短的笔记本说明


笔记本由 8 个任务组成,如下图所示。它包括建模的大多数基本步骤 - 获取数据清理、拟合、超参数调优、验证和可视化。作为捷径,我拿起笔记本并使用Soorgeon工具自动将笔记本模块化到Ploomber管道中。这会将所有依赖项提取到一个 requirements.txt 文件中,将标头分解为独立任务,并从这些模块化任务中创建管道。使用 Ploomber 的主要好处是,它允许我更快地进行实验,因为它缓存了以前运行的结果,此外,它还可以轻松地将并行作业提交到 SLURM 以微调模型。

在本地运行管道?


首先运行以下命令在本地克隆示例(如果您没有 ploomber,请先安装 Ploomber):

ploomber examples -n templates/timeseries -o ts cd ts

在本地拥有管道后,可以执行健全性检查并运行:

ploomber status

这应该显示管道的所有步骤及其状态(尚未运行),这是一个参考输出:

如果只对时序部分感兴趣,也可以在本地生成管道。接下来,我们将看到如何开始在 Slurm 集群上执行以及如何进行并行运行。

Slurm上的编排


为简单起见,我们将向您展示如何使用 Docker 启动 SLURM 集群,但如果您有权访问现有集群,则可以使用该集群。我们创建了一个名为Soopervisor的工具,它允许我们将管道部署到SLURM和其他平台,如Kubernetes,Airflow和AWS Batch。我们将在这里遵循 Slurm 指南。

您必须有一个正在运行的 docker 代理才能启动集群,请在此处阅读有关开始使用 Docker 的更多信息。

步骤 1


创建一个 docker-compose.yml。

wget https://raw.githubusercontent.com/ploomber/projects/master/templates/timeseries/docker-compose.yml

完成后,启动群集:

docker-compose up -d

现在,我们可以通过以下命令连接到群集:

docker-compose exec slurmjupyter /bin/bash

步骤 2


现在我们在集群内部,我们需要引导它并确保我们拥有想要运行的管道。

获取引导脚本并运行它,这是引导集群的脚本:

wget https://raw.githubusercontent.com/ploomber/projects/master/templates/timeseries/start.shchmod 755 start.sh ./start.sh

获取时序管道模板:

ploomber examples -n templates/timeseries -o ts cd ts

安装要求并通过 soopervisor 添加:

ploomber install soopervisor add cluster –backend slurm

这将创建一个集群目录,其中包含 soopervisor 用于提交 Slurm 任务 (template.sh) 的模板。

我们执行 export 命令来转换管道并将作业提交到集群。完成后,我们可以在“output”文件夹中看到所有输出:

soopervisor export cluster ls -l ./output

我们可以在这里看到模型生成的一些预测:

使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测

请注意,如果再次运行它,则只会运行已更改的任务(有一个缓存来管理它)。完成后,不要忘记关闭群集:

docker-compose stop

总结


此博客演示了如何将时序作为模块化管道运行,该管道可以扩展到分布式群集训练。我们从一个笔记本开始,移动到一个管道中,然后在 SLURM 集群上执行它。一旦我们度过了个人在笔记本上工作的阶段(例如团队或生产任务),确保您可以扩展、协作和可靠地执行您的工作非常重要。由于数据科学是一个迭代过程,Ploomber 为您提供了一个简单的机制来标准化您的工作并在开发和生产环境之间快速移动。

原文链接:使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测 (mvrlink.com)

相关文章:

使用 Ploomber、Arima、Python 和 Slurm 进行时间序列预测

推荐:使用 NSDT场景编辑器助你快速搭建可二次编辑的3D应用场景 简短的笔记本说明 笔记本由 8 个任务组成,如下图所示。它包括建模的大多数基本步骤 - 获取数据清理、拟合、超参数调优、验证和可视化。作为捷径,我拿起笔记本并使用Soorgeon工具…...

springboot第35集:微服务与flutter安卓App开发

Google Playplay.google.com/apps/publis…[1]应用宝open.qq.com/[2]百度手机助手app.baidu.com/[3]360 手机助手dev.360.cn/[4]vivo 应用商店dev.vivo.com.cn/[5]OPPO 软件商店(一加)open.oppomobile.com/[6]小米应用商店dev.mi.com/[7]华为应用市场dev…...

java 把list转成json

在Java中,将List转换成JSON格式是非常常见的任务。JSON是一种轻巧的数据交换格式,非常适合于Web应用程序,特别是前端开发。 使用Java将List转换成JSON格式的最简单方法是通过JSON库。最常用的JSON库是 Jackson,它提供了快速&…...

R语言实现随机生存森林(2)

library(survival) library(randomForestSRC) help(package"randomForestSRC") #构建普通的随机生存森林 data(cancer,package"survival") lung$status<-lung$status-1 rfsrc.fit1 <- rfsrc(Surv(time, status) ~ ., lung,ntree 100,block.size 1,…...

泛型类接口方法学习

一、泛型 1 概念 泛型(Generics)&#xff0c;广泛的类型。最大用途是给集合容器添加标签&#xff0c;让开发人员知道容器里面放到是什么类型&#xff0c;并且自动对放入集合的元素进行类型检查。 类比实参和形参&#xff0c;我们在对方法中的变量操作时&#xff0c;并没有指…...

Docker自动化部署安装(十)之安装SonarQube

这里选择的是&#xff1a; sonarqube:9.1.0-community (推荐使用) postgres:9.6.23 数据库(sonarqube7.9及以后便不再支持mysql&#xff0c;版本太低的话里面的一些插件会下载不成功的) 1、docker-sonarqube.yml文件 version: 3 services:sonarqube:container_name: sonar…...

[QT/C++]如何得知鼠标事件是由触摸事件转换而来的,使得鼠标触摸事件分离

依据来源&#xff1a;https://doc.qt.io/qt-5/qml-qtquick-mouseevent.html 具体是在event事件或者mouse系列事件中捕获到鼠标事件后&#xff0c;用如下代码判断鼠标事件是否由触摸事件转换而来的 if(mouseEvent->source()Qt::MouseEventSynthesizedBySystem){qDebug()<&…...

消防态势标绘工具,为消防基层工作助力

背景介绍 无人机测绘技术在消防领域的应用越来越普及&#xff0c;高清的二维正射影像和倾斜摄影实景三维模型能为消防态势标绘提供高质量的素材&#xff0c;消防队急需一个简便易用的、能够基于这些二三维的高清地图成果进行态势标绘的工具软件&#xff0c;使得消防“六熟悉”…...

网络协议栈-基础知识

1、分层模型 1.1、OSI七层模型 1、OSI&#xff08;Open System Interconnection&#xff0c;开放系统互连&#xff09;七层网络模型称为开放式系统互联参考模型 &#xff0c;是一个逻辑上的定义&#xff0c;一个规范&#xff0c;它把网络从逻辑上分为了7层。 2、每一层都有相关…...

[Mongodb 5.0]聚合操作

本文对应Aggregation Operations — MongoDB Manual 正文 此章节主要介绍了Aggregation Pipeline&#xff0c;其实就是将若干个聚合操作放在管道中进行执行&#xff0c;每一个聚合操作的结果作为下一个聚合操作的输入&#xff0c;每个聚合指令被称为一个stage。 在正式开始学…...

Shell 变量

Shell 变量 定义变量时&#xff0c;变量名不加美元符号&#xff08;$&#xff0c;PHP语言中变量需要&#xff09;&#xff0c;如&#xff1a; your_name"runoob.com" 注意&#xff0c;变量名和等号之间不能有空格&#xff0c;这可能和你熟悉的所有编程语言都不一样…...

SRM订单管理:优化供应商关系

一、概述SRM订单管理的概念&#xff1a; SRM订单管理是指在供应商关系管理过程中&#xff0c;有效管理和控制订单的创建、处理和交付。它涉及与供应商之间的沟通、合作和协调&#xff0c;旨在实现订单的准确性、可靠性和及时性。 二、SRM订单管理的流程&#xff1a; 1. 订单创…...

Unity 实现2D地面挖洞!涂抹地形(碰撞部分,方法二)

文章目录 前言一、初始化虚拟点1.1点结构:1.2每个点有的状态:1.3生成点结构: 二、实例化边缘碰撞盒2.1计算生成边缘碰撞盒 三、涂抹部分3.1.虚拟点3.2.鼠标点3.3.内圈3.4.外圈 四、关于优化结语: 前言 老规矩先上效果图 继上一篇涂抹地形文章讲解发出后&#xff0c;有不少网友…...

简化Gerber数据传输过程丨GC PowerPlace简介

离线编程&#xff0c;保持高效 GC PowerPlace提供了客户驱动的增强功能和新功能&#xff0c;以简化Gerber数据传输过程。GC PowerPlace是汇编编程的焦点&#xff0c;它接受几乎任何来源的数据&#xff0c;并为大多数PCB制造应用程序生成程序和文件。 功能特征 01、主要特点 …...

rust关于项目结构包,Crate和mod和目录的组织

rust 最近开始学习rust语言。感觉这门语言相对java确实是难上很多。开几个文章把遇到的问题记录一下 rust关于包&#xff0c;Crate 关于包&#xff0c;Crate这块先看看官方书籍怎么说的 crate 是 Rust 在编译时最小的代码单位。如果你用 rustc 而不是 cargo 来编译一个文件…...

如何微调优化你的ChatGPT提示来提高对话质量

ChatGPT会话质量很大程度上取决于微调优化提示的艺术。本文旨在阐明微调提示的复杂性&#xff0c;以确保你可以充分发挥ChaGPT这一颠覆性工具的潜力。 与ChatGPT对话的关键部分是“提示”。即&#xff1a;你输入的问题或陈述&#xff0c;它决定了人工智能的响应。类似于引导对…...

微信小程序实现下拉刷新

一、设置微信小程序所有页面都可以下拉刷新 1、在app.json的"window"中进行配置 &#xff08;1&#xff09;把"backgroundTextStyle":“light"改为"backgroundTextStyle”:“dark” &#xff08;2&#xff09;添加"enablePullDownRefresh…...

一、编程规约

一、编程规约 &#xff08;一&#xff09;命名风格 不以下划线&#xff08;_&#xff09;或美元符号($)开始和结束不用中文拼音避免歧视或侮辱性词语类名用UpperCamelCase风格&#xff0c;以下情况例外&#xff1a;DO/PO/DTO等方法名、参数名、成员变量、局部变量使用lowerCam…...

pytest数据驱动 pandas

pytest数据驱动 pandas 主要过程&#xff1a;用pandas读取excel里面的数据&#xff0c;然后进行百度查询&#xff0c;并断言 pf pd.read_excel(data_py.xlsx, usecols[1,2])print(pf.values)输出&#xff1a;[[‘听妈妈的话’ ‘周杰伦’] [‘遇见’ ‘孙燕姿’] [‘伤心太平…...

Modbus工业RFID设备在自动化生产线中的应用

传统半自动化生产线在运作的过程&#xff0c;因为技工的熟练程度&#xff0c;专业素养的不同&#xff0c;在制造过程中过多的人为干预&#xff0c;工厂将很难对每条生产线的产能进行标准化管理和优化。如果半自动化生产线系统是通过前道工序的作业结果和检测结果来决定产品在下…...

别再死记硬背公式了!用UE5的Lerp节点玩转材质混合(附灰度图实战案例)

别再死记硬背公式了&#xff01;用UE5的Lerp节点玩转材质混合&#xff08;附灰度图实战案例&#xff09;在游戏开发中&#xff0c;材质混合是创造丰富视觉效果的关键技术。对于Unreal Engine 5的初学者来说&#xff0c;LinearInterpolate&#xff08;简称Lerp&#xff09;节点可…...

VMware Workstation Pro 17许可证密钥:技术深度解析与最佳实践指南

VMware Workstation Pro 17许可证密钥&#xff1a;技术深度解析与最佳实践指南 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all major versions…...

量子机器学习:平衡数据复杂度与电路表达力的核心策略

1. 项目概述&#xff1a;量子机器学习中的核心平衡艺术在量子机器学习这个前沿交叉领域摸爬滚打了几年&#xff0c;我越来越深刻地意识到&#xff0c;决定一个模型成败的&#xff0c;往往不是最炫酷的量子门设计&#xff0c;而是一个看似基础却极易被忽视的平衡问题&#xff1a…...

Arm Cortex-M的FP和MVE

Floating-point Support目前Arm architecture支持的floating-point extension版本是FPv5。FPv5提供了以下功能&#xff1a;单精度算术运算&#xff1b;可选的双精度算术运算&#xff1b;整数、双精度、单精度、和半精度格式之间的转换&#xff1b;用于浮点处理的寄存器&#xf…...

观察taotoken在流量高峰时段api调用的成功率和响应延迟表现

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察 Taotoken 在流量高峰时段 API 调用的成功率和响应延迟表现 对于依赖大模型 API 进行开发的团队而言&#xff0c;服务的稳定性…...

OpenAI与博通合作自研芯片,融资卡壳微软,AI军备赛进入信用背书阶段

OpenAI与Broadcom的合作及问题去年10月&#xff0c;OpenAI和Broadcom联合宣布战略合作&#xff0c;将共同部署10GW的定制AI加速器&#xff0c;OpenAI负责设计芯片和系统&#xff0c;Broadcom参与开发并负责部署&#xff0c;2026年下半年开始上架&#xff0c;2029年底前全部到位…...

描述它,不要画它:通过 MCP 和 ES|QL 实现 AI-native Kibana dashboards

作者&#xff1a;来自 Elastic Stratoula Kalafateli 从 prompt 到 dashboard。学习如何使用自然语言构建 Kibana dashboards&#xff0c;使用 example-mcp-dashbuilder&#xff1a;一个开源 MCP 应用&#xff0c;它可以编写 ES|QL 查询&#xff0c;创建交互式图表&#xff0c;…...

从《苏珊的微笑》到你的角色:手把手教你用UE5的Morph Target曲线驱动自定义面部动画

从《苏珊的微笑》到你的角色&#xff1a;手把手教你用UE5的Morph Target曲线驱动自定义面部动画在数字角色动画领域&#xff0c;面部表情的细腻表现往往是区分业余与专业作品的关键分水岭。许多创作者在掌握了基础骨骼动画后&#xff0c;面对角色面部动画的实现却陷入困境——为…...

Frida Hook Java层还原App签名算法实战

1. 这不是“破解”&#xff0c;而是理解通信逻辑的必要手段你打开某物App&#xff0c;点击下单&#xff0c;网络请求瞬间发出——但抓包一看&#xff0c;body里全是密文&#xff0c;header里带着一串32位字符串&#xff0c;看着像MD5&#xff0c;但每次请求都变&#xff1b;用B…...

自动驾驶多摄像头三平面令牌化技术解析

1. 多摄像头令牌化技术背景与挑战在自动驾驶系统中&#xff0c;实时处理多摄像头数据是实现环境感知的基础。传统基于ViT&#xff08;Vision Transformer&#xff09;的令牌化方案存在明显的计算瓶颈——每个摄像头输入的图像被分割为1616像素块进行编码&#xff0c;导致令牌数…...