跳转到主要内容

用于重复和分布式执行的album插件

项目描述

用于分布式调用的album插件

这是增强album以支持批处理和分布式处理的早期版本。

安装

  1. 安装Album
  2. 激活album环境
conda activate album
  1. 安装此插件
pip install https://gitlab.com/album-app/plugins/album-distributed/-/archive/main/album-distributed-main.zip

使用方法

首先,安装一个解决方案 - 将solution.py替换为您的解决方案/解决方案文件夹的路径,或者替换为您的解决方案的group:name:version坐标。

album install solution.py

现在您可以使用此插件

album run-distributed solution.py

此插件执行以下两项操作

  1. 它检查输入参数是否与多个任务匹配 - 在这种情况下,它生成不同的任务参数。
  2. 它运行所有匹配的任务,可以选择运行这些任务的模式。

由于匹配部分可能很复杂,请使用 --dry-run 参数首先打印出匹配的任务列表

album run-distributed solution.py --dry-run

在Windows上,请在本页的示例中将斜杠替换为反斜杠。

如果您遇到任何问题,请告诉我们。

匹配输入参数

要生成多个任务,可以在文件名参数中使用模式来匹配多个文件。

使用单个参数中的模式

当您在单个参数中使用它时,应该能够使用所有 glob 功能。以下是一些示例

在以下场景中,solution.py 有一个名为 input_data 的参数。

匹配当前文件夹中所有 .tif 文件

album run-distributed solution.py --input_data *.tif

匹配特定文件夹中所有以 input 开头的 .tif 文件

album run-distributed solution.py --input_data /data/input*.tif

递归匹配所有 .tif 文件,从当前文件夹开始

album run-distributed solution.py --input_data **/*.tif

在多个参数中使用模式

当在多个参数中使用模式时,此插件将尝试根据哪些模式与现有文件匹配来找出相应的参数值。这可能在许多情况下失败 - 请使用 --dry-run 参数来测试匹配的任务是否符合您的期望。

在以下场景中,solution.py 有两个名为 input_dataoutput_data 的参数。

使用当前文件夹中的所有 .tif 文件,并将 _out 追加到输出参数的文件名中。

album run-distributed solution.py --input_data *.tif --output_data *_out.tif

递归执行相同操作

album run-distributed solution.py --input_data **/*.tif --output_data **/*_out.tif

让输出参数值位于不同的文件夹中

album run-distributed solution.py --input_data *.tif --output_data output/*.tif

由于Album尚未区分输入和输出参数,请注意,如果这些场景中的 output_data 参数匹配现有文件,插件也会尝试生成相应的 input_file 值。我们将努力改进这一点。

模式

您可以通过使用 --mode 参数来设置模式

album run-distributed solution.py --mode queue

默认情况下,插件将使用 basic 模式。

基本

在此模式下,所有任务将一个接一个地执行。将打印出每个任务的控制台输出。

队列

在此模式下,将创建一组线程工作进程以并行处理任务。不会打印出每个任务的控制台输出。您可以使用 --threads 参数控制应创建多少个线程

album run-distributed solution.py --mode queue --threads 16

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分发

album-distributed-0.1.0.tar.gz (10.0 kB 查看哈希值)

上传时间

由以下赞助商支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面