Pytorch
A Pytorch task type’s example and dive into information of PyDolphinScheduler.
Example
"""A example workflow for task pytorch."""
from pydolphinscheduler.core.workflow import Workflow
from pydolphinscheduler.tasks.pytorch import Pytorch
with Workflow(
name="task_pytorch_example",
) as workflow:
# run project with existing environment
task_existing_env = Pytorch(
name="task_existing_env",
script="main.py",
script_params="--dry-run --no-cuda",
project_path="https://github.com/pytorch/examples#mnist",
python_command="/home/anaconda3/envs/pytorch/bin/python3",
)
# run project with creating conda environment
task_conda_env = Pytorch(
name="task_conda_env",
script="main.py",
script_params="--dry-run --no-cuda",
project_path="https://github.com/pytorch/examples#mnist",
is_create_environment=True,
python_env_tool="conda",
requirements="requirements.txt",
conda_python_version="3.7",
)
# run project with creating virtualenv environment
task_virtualenv_env = Pytorch(
name="task_virtualenv_env",
script="main.py",
script_params="--dry-run --no-cuda",
project_path="https://github.com/pytorch/examples#mnist",
is_create_environment=True,
python_env_tool="virtualenv",
requirements="requirements.txt",
)
# [start resource_limit]
pytorch_resources_limit = Pytorch(
name="pytorch_resources_limit",
script="main.py",
script_params="--dry-run --no-cuda",
project_path="https://github.com/pytorch/examples#mnist",
python_command="/home/anaconda3/envs/pytorch/bin/python3",
cpu_quota=1,
memory_max=100,
)
# [end resource_limit]
workflow.submit()
Resource Limit Example
We can add resource limit like CPU quota and max memory by passing parameters when declaring tasks.
pytorch_resources_limit = Pytorch(
name="pytorch_resources_limit",
script="main.py",
script_params="--dry-run --no-cuda",
project_path="https://github.com/pytorch/examples#mnist",
python_command="/home/anaconda3/envs/pytorch/bin/python3",
cpu_quota=1,
memory_max=100,
)
Dive Into
Task Pytorch.
- class pydolphinscheduler.tasks.pytorch.DEFAULT[source]
Bases:
object
Default values for Pytorch.
- is_create_environment = False
- project_path = '.'
- python_command = '${PYTHON_HOME}'
- class pydolphinscheduler.tasks.pytorch.Pytorch(name: str, script: str, script_params: str = '', project_path: str | None = '.', is_create_environment: bool | None = False, python_command: str | None = '${PYTHON_HOME}', python_env_tool: str | None = 'conda', requirements: str | None = 'requirements.txt', conda_python_version: str | None = '3.7', *args, **kwargs)[source]
Bases:
WorkerResourceMixin
,BatchTask
Task Pytorch object, declare behavior for Pytorch task to dolphinscheduler.
See also: DolphinScheduler Pytorch Task Plugin
- Parameters:
name – task name
script – Entry to the Python script file that you want to run.
script_params – Input parameters at run time.
project_path – The path to the project. Default “.” .
is_create_environment – is create environment. Default False.
python_command – The path to the python command. Default “${PYTHON_HOME}”.
python_env_tool – The python environment tool. Default “conda”.
requirements – The path to the requirements.txt file. Default “requirements.txt”.
conda_python_version – The python version of conda environment. Default “3.7”.
- _downstream_task_codes: set[int]
- _task_custom_attr: set = {'conda_python_version', 'is_create_environment', 'other_params', 'python_command', 'python_env_tool', 'python_path', 'requirements', 'script', 'script_params'}
- _task_relation: set[TaskRelation]
- _timeout: timedelta | int
- _upstream_task_codes: set[int]
- property other_params
Return other params.
YAML file example
# Define the workflow
workflow:
name: "Pytorch"
# Define the tasks within the workflow
tasks:
# run project with existing environment
- name: task_existing_env
task_type: pytorch
script: main.py
script_params: --dry-run --no-cuda
project_path: https://github.com/pytorch/examples#mnist
python_command: /home/anaconda3/envs/pytorch/bin/python3
# run project with creating conda environment
- name: task_conda_env
task_type: pytorch
script: main.py
script_params: --dry-run --no-cuda
project_path: https://github.com/pytorch/examples#mnist
is_create_environment: True
python_env_tool: conda
requirements: requirements.txt
conda_python_version: 3.7
# run project with creating virtualenv environment
- name: task_virtualenv_env
task_type: pytorch
script: main.py
script_params: --dry-run --no-cuda
project_path: https://github.com/pytorch/examples#mnist
is_create_environment: True
python_env_tool: virtualenv
requirements: requirements.txt