Skip to content

Augmentation

The augmentation resource produces a new HuggingFace dataset by applying transforms to an existing one. See the Dataset Augmentation guide for an overview of when and why to use it.

Start a new dataset augmentation job.

from qualia import Qualia
client = Qualia()
job = client.augmentation.create(
project_id="...",
dataset_id="qualiaadmin/spoon10", # HuggingFace dataset ID
transforms="lighting,noise", # Comma-separated transforms
mode="stacked", # stacked or independent
copies=3, # Augmented copies per episode
dataset_mode="copy", # copy or inplace
# Optional fine-tuning of lighting transform ranges:
brightness_range=(-15, 15),
contrast_range=(-10, 10),
color_temp_range=(4000, 6500),
name="My augmentation run",
)

Response

AugmentationJob
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "queued",
"message": "Augmentation job created successfully"
}
ParameterTypeRequiredDescription
project_idstrYesProject to create the job in
dataset_idstrYesHuggingFace dataset ID to augment
augmentation_typestrNodeterministic (default) or generative (currently disabled)
transformsstrNoComma-separated transforms: lighting, noise, blur, occlusion (default: lighting)
modestrNostacked applies all transforms to each copy, independent creates one copy per transform (default: stacked)
copiesintNoNumber of augmented copies per episode, 1–20 (default: 3)
dataset_modestrNocopy adds augmented copies alongside originals, inplace replaces them (default: copy)
brightness_rangetuple[float, float]NoBrightness adjustment range in percent (default: (-15, 15))
contrast_rangetuple[float, float]NoContrast adjustment range in percent (default: (-10, 10))
color_temp_rangetuple[int, int]NoColor temperature range in Kelvin (default: (4000, 6500))
namestrNoJob description

Check the status of an augmentation job. The augmented dataset ID is populated once the job has completed.

status = client.augmentation.get(job.job_id)
if status.status == "completed":
print(f"Augmented dataset: {status.augmented_dataset_id}")

Response

AugmentationStatus
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"current_phase": "augmentation_running",
"status": "running",
"instance_type": "n3-RTX-A6000x1",
"region": "NORWAY-1",
"phases": [
{
"name": "queuing",
"status": "completed",
"started_at": "2026-04-09T10:00:00Z",
"completed_at": "2026-04-09T10:00:30Z",
"events": [],
"error": null
},
{
"name": "augmentation_running",
"status": "in_progress",
"started_at": "2026-04-09T10:02:00Z",
"completed_at": null,
"events": [],
"error": null
}
],
"augmented_dataset_id": null,
"created_at": "2026-04-09T10:00:00Z"
}

Augmentation jobs progress through these phases in order:

PhaseDescription
queuingJob is queued and waiting to start
credit_validationValidating credit balance
instance_bootingGPU instance is booting
instance_activationInstance is being activated
instance_setupSetting up the augmentation environment
dataset_preprocessingDownloading and tagging the input dataset
augmentation_runningAugmentation transforms are being applied
dataset_uploadingAugmented dataset is being uploaded to HuggingFace
completedJob completed successfully
failedJob failed (check phase errors for details)
cancelledJob was cancelled

Each phase has a status of started, completed, or failed.

Cancel a running augmentation job. Any unused credits from the reservation are returned automatically.

result = client.augmentation.cancel(job.job_id)

Response

AugmentationCancelResult
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"cancelled": true,
"message": "Augmentation job cancelled successfully"
}