name: data-and-training
description: "Prepare pix2code paired datasets, convert screenshots to arrays,
and plan or troubleshoot the legacy training workflow."
disable-model-invocation: true
metadata:
disco-role: operating
license: Apache 2.0
Data and Training
Use this sub-skill for the preprocessing side of pix2code: verifying paired .gui and image files, splitting the archive into training and evaluation sets, converting screenshots to compressed arrays, and understanding the legacy training command lines.
Read first
Quick workflow
- Validate the input directory first:
python sub-skills/data-and-training/scripts/prepare_pix2code_dataset.py validate --input datasets/web/all_data
- Split a directory of paired
.gui/.png files into train/eval sets:
python sub-skills/data-and-training/scripts/prepare_pix2code_dataset.py split --input datasets/web/all_data --distribution 6
- Convert training images to
.npz features when you want smaller files or faster uploads:
python sub-skills/data-and-training/scripts/prepare_pix2code_dataset.py convert --input datasets/web/training_set --output datasets/web/training_features
- If the user wants to train, use the legacy command patterns from
training-workflows.md. Treat training as expensive and dataset-specific.
Boundaries
This sub-skill owns dataset preparation and training planning. It does not own screenshot-to-DSL generation; route that to ../sampling-and-generation/SKILL.md. It does not own .gui compilation; route that to ../dsl-compilation/SKILL.md.
Validation checklist
- Input directories contain paired
.gui and .png files with matching basenames.
- Split counts are integral for the chosen distribution.
- Duplicate
.gui content is kept out of the evaluation set when possible.
- Converted
.npz files contain a features array alongside copied .gui files.
- Training advice names the legacy dependency stack and warns when OpenCV or TensorFlow pins are unavailable.