Skip to main content

labtasker-plugin-script-generate

[!WARNING] This plugin does not cover all possible scenarios and does not guarantee the correctness of the generated scripts. It is strongly advised to double-check and manually adjust the generated scripts to your need.

This is a plugin for Labtasker that helps you to automatically split your bash script into submit script and job script.

Install

pip install labtasker-plugin-script-generate

Example

You can find the code in the demo directory.

Imagine you have a bash wrapper script for your machine learning experiment. To divide the script into a submit script and a job script, simply add a few special comments (e.g., #@submit, #@task, #@end).

#!/bin/bash

export CUDA_HOME=/usr/local/cuda-12.1

+#@submit
for dataset in imagenet cifar10 mnist; do
  for model in resnet50 vit transformer; do
    LOG_DIR=/path/to/logs/$dataset/$model

+    #@task
    python train.py --dataset $dataset \
      --model $model \
      --cuda-home $CUDA_HOME \
      --log-dir $LOG_DIR
+    #@end

  done
done
+#@end

echo "done"

Run:

labtasker generate original.sh

You will see original_submit.sh and original_run.sh generated at the same directory, with the following content:

original_submit.sh:

#!/bin/bash
# This script is generated by Labtasker from original.sh

export CUDA_HOME=/usr/local/cuda-12.1

for dataset in imagenet cifar10 mnist; do
  for model in resnet50 vit transformer; do
    LOG_DIR=/path/to/logs/$dataset/$model

    labtasker task submit -- --CUDA_HOME "$CUDA_HOME" --LOG_DIR "$LOG_DIR" --dataset "$dataset" --model "$model"

  done
done

echo "done"

original_run.sh:

#!/bin/bash
# This script is generated by Labtasker from original.sh

export CUDA_HOME=/usr/local/cuda-12.1

LABTASKER_TASK_SCRIPT=$(mktemp)
cat <<'LABTASKER_LOOP_EOF' > "$LABTASKER_TASK_SCRIPT"
CUDA_HOME=%(CUDA_HOME)
LOG_DIR=%(LOG_DIR)
dataset=%(dataset)
model=%(model)
    python train.py --dataset $dataset \
      --model $model \
      --cuda-home $CUDA_HOME \
      --log-dir $LOG_DIR
LABTASKER_LOOP_EOF
labtasker loop --executable /bin/bash --script-path $LABTASKER_TASK_SCRIPT

echo "done"

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labtasker_plugin_script_generate-0.1.3.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file labtasker_plugin_script_generate-0.1.3.tar.gz.

File metadata

File hashes

Hashes for labtasker_plugin_script_generate-0.1.3.tar.gz
Algorithm Hash digest
SHA256 fa74041ffab5fcffa6e3929fe5bae880547eaf17eaf2014169a280849666e49b
MD5 69d17c1d91c3a9781db535514c810afb
BLAKE2b-256 1a1f84bd0c9a0060f38d3700c4bcf0e166443d44ae555debb6306fb7bb85d5bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for labtasker_plugin_script_generate-0.1.3.tar.gz:

Publisher: release.yml on luocfprime/labtasker-plugin-script-generate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file labtasker_plugin_script_generate-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for labtasker_plugin_script_generate-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 44522dbec492e0afc8bc4cf058630d351e1c47431e574f7c57053964ebe27e71
MD5 92d08381b90c9512f6201cbbb1b61597
BLAKE2b-256 a17938ce84ca45b05770a70d2edda986381c5caa0ced082d1bbb82a6d54bbfb6

See more details on using hashes here.

Provenance

The following attestation bundles were made for labtasker_plugin_script_generate-0.1.3-py3-none-any.whl:

Publisher: release.yml on luocfprime/labtasker-plugin-script-generate

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page