使用 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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/83598.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

colab释放GPU显存

不用其他博客说的安装包,然后查看进程,kill,本文介绍一种简单的方法。 点击运行过代码的ipynb页面右上角的下三角,然后点击展开菜单栏中的View resources 随后会展开一个侧边栏,点击 manage sessions 3. 在页面中央会…

(四)Doceke安装MySQL镜像+Docker启动MySQL容器

Doceke安装MySQL镜像/Docker启动MySQL容器 一、doceke安装MySQL镜像 切换到root用户,su root 。 1、启动Docker 启动:sudo systemctl start docker 停止:systemctl stop docker 重启:systemctl restart docker 查看docker运行…

NineData通过AWS FTR认证,打造安全可靠的数据管理平台

近日,NineData 作为新一代的云原生智能数据管理平台,成功通过了 AWS(Amazon Web Service)的 FTR 认证。NineData 在 FTR 认证过程中表现出色,成功通过了各项严格的测试和评估,在数据安全管理、技术应用、流…

嵌入式设备应用开发(qt界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 linux界面开发有很多的方案可以选。比如说lvgl、minigui、ftk之类的。但是,这么多年来,一直屹立不倒的还是qt。相比较其他几种方案,qt支持多个平台,这里面就包括了linux平台。此…

【网络基础】数据链路层

【网络基础】数据链路层 文章目录 【网络基础】数据链路层1、对比网络层2、以太网2.1 基本概念2.2 类似技术2.3 以太网帧 3、MAC地址对比IP地址 4、MTU4.1 对IP协议影响4.2 对UDP协议影响4.3 对TCP协议影响4.4 地址、MTU查看 5、ARP协议5.1 协议作用5.2 协议工作流程5.3 数据报…

unity打造路径编辑与导航系统

Unity是一款非常流行的游戏引擎,它提供了丰富的工具和API,方便开发者快速创建游戏。其中,路径编辑与导航系统是游戏开发中非常重要的一部分,可以帮助玩家更好地探索游戏世界,提升游戏体验。本文将详细介绍如何在Unity中…

华为OD-整数对最小和

题目描述 给定两个整数数组array1、array2,数组元素按升序排列。假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素,并对取出的所有元素求和,计算和的最小值 代码实现 # coding:utf-8 class Solution:…

探索人工智能 | 模型训练 使用算法和数据对机器学习模型进行参数调整和优化

前言 模型训练是指使用算法和数据对机器学习模型进行参数调整和优化的过程。模型训练一般包含以下步骤:数据收集、数据预处理、模型选择、模型训练、模型评估、超参数调优、模型部署、持续优化。 文章目录 前言数据收集数据预处理模型选择模型训练模型评估超参数调…

第7步---MySQL的视图操作和

第7步---MySQL的视图操作 虚拟表。保存的只是视图的定义。不存放真实的数据,数据还是在原先的表中。 好处是方便和简化代码以及安全。 1.视图创建 数据准备 -- 创建表的测试数据 create table dept(deptno int primary key,dname varchar(20),loc varchar(20) ); …

微信小程序 游戏水平评估系统的设计与实现_pzbe0

近年来,随着互联网的蓬勃发展,游戏公司对信息的管理提出了更高的要求。传统的管理方式已无法满足现代人们的需求。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,随着各行业的不断发展,使命召…

Python 学习笔记——代码基础

目录 Python基础知识 变量 赋值 数据类型 print用法 print格式化输出 运算符 if-else 数据结构 元组 in运算符 列表 切片 [ : ] 追加 append() 插入 insert() 删除 pop() 字典 循环 for循环 for循环应用——遍历 for循环应用——累加…

11. Vuepress2.x 关闭夜间模式

修改 docs/.vuepress/config.ts 配置文件 设置 themeConfig.darkMode属性详见 官网 module.exports {host: localhost, // ipport: 8099, //端口号title: 我的技术站, // 设置网站标题description: 描述:我的技术站,base: /, //默认路径head: [// 设置 favor.ico&a…

无需公网IP——搭建web站点

文章目录 概述使用 Raspberry Pi Imager 安装 Raspberry Pi OS设置 Apache Web 服务器测试 web 站点安装静态样例站点将web站点发布到公网安装 Cpolar内网穿透cpolar进行token认证生成cpolar随机域名网址生成cpolar二级子域名将参数保存到cpolar配置文件中测试修改后配置文件配…

每天一道leetcode:1192. 查找集群内的关键连接(图论困难tarjan算法)

今日份题目: 力扣数据中心有 n 台服务器,分别按从 0 到 n-1 的方式进行了编号。它们之间以 服务器到服务器 的形式相互连接组成了一个内部集群,连接是无向的。用 connections 表示集群网络,connections[i] [a, b] 表示服务器 a …

Minio知识点+linux下安装+面试总结

一 Minio简介 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&…

【后端】Core框架版本和发布时间以及.net 6.0启动文件的结构

2023年,第35周,第1篇文章。给自己一个目标,然后坚持总会有收货,不信你试试! .NET Core 是一个跨平台的开源框架,用于构建现代化的应用程序。它在不同版本中有一些重要的区别和发布时间 目录 一、Core版本和…

【C++习题集】-- 堆

(用于复习) 目录 树概念及结构 名词概念 二叉树概念及结构 特殊的二叉树 满二叉树 完全二叉树 运算性质 二叉树存储结构 顺序存储 链式存储 堆 - 顺序存储 堆的性质 堆的实现 堆的应用 堆排序 直接建堆法 树概念及结构 概念&#xff1a…

unity 之 Input.GetMouseButtonDown 的使用

文章目录 Input.GetMouseButtonDown Input.GetMouseButtonDown 当涉及到处理鼠标输入的时候,Input.GetMouseButtonDown 是一个常用的函数。它可以用来检测鼠标按键是否在特定帧被按下。下面我会详细介绍这个函数,并举两个例子说明如何使用它。 函数签名…

功能性需求与非功能性需求的区别

如果你曾经负责过软件项目开展的全过程,就会知道需求定义在项目后期的重要性。清晰、明确的需求定义不仅有助于有效地管理客户期望,也有助于指导项目的顺利开展。 在项目前期阶段,如果需求定义不清晰,就会导致项目范围和成果定义…

【HCIP】10.路由策略

📎13 路由策略与路由控制.pptx 通过修改路由的属性,影响了路由的生成及选路,最终影响了转发流量的路径;控制平面。 ACL IP prefix Filter-Policy Router-Policy 笔记