stages.video.caption.caption_generation#

Module Contents#

Classes#

CaptionGenerationStage

Stage that generates captions for video windows using specified VL model.

API#

class stages.video.caption.caption_generation.CaptionGenerationStage#

Bases: nemo_curator.stages.base.ProcessingStage[nemo_curator.tasks.video.VideoTask, nemo_curator.tasks.video.VideoTask]

Stage that generates captions for video windows using specified VL model.

This stage processes prepared video windows through the specified vision-language model to generate descriptive captions, with support for both synchronous and asynchronous processing.

caption_batch_size: int#

16

disable_mmcache: bool#

False

fp8: bool#

False

generate_stage2_caption: bool#

False

inputs() tuple[list[str], list[str]]#

Define stage input requirements.

Returns (tuple[list[str], list[str]]): Tuple of (required_attributes, required_columns) where: - required_top_level_attributes: List of task attributes that must be present - required_data_attributes: List of attributes within the data that must be present

max_output_tokens: int#

512

model_dir: str#

‘models/qwen’

model_does_preprocess: bool#

False

model_variant: str#

‘qwen’

outputs() tuple[list[str], list[str]]#

Define stage output specification.

Returns (tuple[list[str], list[str]]): Tuple of (output_attributes, output_columns) where: - output_top_level_attributes: List of task attributes this stage adds/modifies - output_data_attributes: List of attributes within the data that this stage adds/modifies

process(
task: nemo_curator.tasks.video.VideoTask,
) nemo_curator.tasks.video.VideoTask#

Process a task and return the result. Args: task (X): Input task to process Returns (Y | list[Y]): - Single task: For 1-to-1 transformations - List of tasks: For 1-to-many transformations (e.g., readers) - None: If the task should be filtered out

setup(
worker_metadata: nemo_curator.backends.base.WorkerMetadata | None = None,
) None#

Setup method called once before processing begins. Override this method to perform any initialization that should happen once per worker. Args: worker_metadata (WorkerMetadata, optional): Information about the worker (provided by some backends)

setup_on_node(
node_info: nemo_curator.backends.base.NodeInfo,
worker_metadata: nemo_curator.backends.base.WorkerMetadata,
) None#

Download the weights for the QwenVL model on the node.

stage2_prompt_text: str | None#

None

verbose: bool#

False