Skip to navigation

nemo_automodel.components.launcher.nemo_run.utils

View as Markdown

Module Contents

Functions

NameDescription
apply_overridesApply YAML overrides to an executor via setattr.
load_executor_from_fileLoad a named executor from a Python file containing an EXECUTOR_MAP.
submit_nemo_run_jobSubmit a job via NeMo-Run’s Experiment API.

Data

logger

API

nemo_automodel.components.launcher.nemo_run.utils.apply_overrides(
executor: typing.Any,
overrides: dict
) -> None

Apply YAML overrides to an executor via setattr.

Dict and list values are merged with existing executor attributes (dicts are updated, lists are extended). All other values are set directly.

Parameters:

executor
Any

Executor instance to configure, from EXECUTOR_MAP.

overrides
dict

Attribute name to value, collected by NemoRunConfig.from_dict from the unrecognised keys of the nemo_run: YAML section.

Raises:

  • ValueError: If executor has no attribute named by one of the keys. NeMo-Run executors are dataclasses with fixed fields, so assigning an unknown name would create an attribute the scheduler never reads, leaving the field the user meant to set at its default.
nemo_automodel.components.launcher.nemo_run.utils.load_executor_from_file(
name: str,
executors_file: str
) -> typing.Any

Load a named executor from a Python file containing an EXECUTOR_MAP.

The file (typically $NEMORUN_HOME/executors.py) must define a module-level EXECUTOR_MAP dictionary whose keys are executor names and whose values are pre-built nemo_run executor instances (or zero-arg callables that return one).

Parameters:

name
str

Key to look up in EXECUTOR_MAP.

executors_file
str

Absolute path to the Python file.

Returns: Any

The executor object.

Raises:

  • FileNotFoundError: If executors_file does not exist.
  • KeyError: If name is not found in the EXECUTOR_MAP.
nemo_automodel.components.launcher.nemo_run.utils.submit_nemo_run_job(
script: typing.Any,
executor: typing.Any,
job_name: str,
detach: bool,
tail_logs: bool
) -> int

Submit a job via NeMo-Run’s Experiment API.

Parameters:

script
Any

A nemo_run.Script object.

executor
Any

A NeMo-Run executor instance.

job_name
str

Experiment and task name.

detach
bool

If True, return immediately after submission.

tail_logs
bool

If True, stream logs after submission.

Returns: int

0 on successful submission.

nemo_automodel.components.launcher.nemo_run.utils.logger = logging.getLogger(__name__)