Resources
Troubleshooting
Solutions for common dataset issues you may encounter when working with cvPal. Each section covers the symptoms, causes, and steps to fix the problem.
No annotations found
Your dataset has images but zero annotations were extracted. The warning “No annotations found — labels may not have been extracted or the annotation files could be corrupted” appears on the dataset detail page.
Common causes
- Annotation files (e.g.
.txt,.xml,.json) were not included in the upload. - The annotation format does not match the declared dataset type — for example, uploading COCO JSON annotations but selecting YOLO as the format.
- Annotation files exist but are empty or contain only whitespace.
- The folder structure does not match the expected layout. YOLO expects label files next to images or in a parallel
labels/folder.
How to fix
- Open the Files tab on the dataset detail page to verify annotation files are present.
- Confirm the dataset type matches your annotation format. You can change the type by re-processing the dataset.
- If the files are missing, re-upload the dataset with the annotation files included.
- Use the Auto-Annotate operation to generate labels from scratch if you only have images.
No classes detected
Annotations exist but no class information was parsed. The warning “No classes detected — class information may be missing from the annotation data” appears.
Common causes
- A
classes.txt,data.yaml, or equivalent class-mapping file was not included in the upload. - For COCO format, the
categoriesarray in the JSON file is empty or missing. - Class indices in annotation files reference classes that are not defined anywhere in the dataset.
How to fix
- Add a
classes.txtfile (one class name per line) or adata.yamlwith anamesfield. - For COCO JSON, ensure the top-level
categoriesarray is present and populated. - Re-process the dataset after adding the class file — go to Operations → Re-analyze.
Empty dataset
The dataset shows zero images. The banner reads “No images found — the dataset may be empty or failed to process.”
Common causes
- The uploaded archive contains only annotation files or metadata — no actual image files.
- Images are nested inside unexpected subdirectories that the parser did not traverse.
- The upload was interrupted or the archive is corrupted.
- Unsupported image formats (e.g.
.tiff,.bmp) were used.
How to fix
- Check the Files tab to verify the directory structure of your upload.
- Ensure images are in supported formats:
.jpg,.jpeg,.png,.webp. - Re-upload the dataset, making sure the archive is not corrupted and images are at an expected depth.
Mismatched image and annotation counts
The number of images does not match the number of annotation files. Some images may not have labels, or some label files may not have corresponding images.
Common causes
- Partial export from an annotation tool — some images were labeled and others were skipped.
- File-name mismatches between images and labels (e.g.
IMG_001.jpgvsimg_001.txt— case sensitivity). - Images were added after annotation files were generated.
How to fix
- Use the Data tab with the Labeled / Unlabeled filter to identify which images are missing annotations.
- Either annotate the missing images or remove them from the dataset.
- Verify that image and annotation file names match exactly (excluding the extension).
Wrong dataset type detected
The auto-detected type does not match what you intended. For example, a detection dataset was classified as classification, or vice versa.
Common causes
- The annotation format is ambiguous — for example, a single-class detection dataset with only one bounding box per image may look like classification.
- Missing metadata files (like
data.yaml) that would clarify the type. - Mixed annotation formats within the same upload.
How to fix
- Re-process the dataset using the Re-analyze operation and explicitly select the correct type.
- Add a
data.yamlor metadata file that declares the dataset type before re-uploading.
Processing stuck or failed
A dataset or operation appears stuck in a “processing” state for an extended period, or the job completes with an error.
Common causes
- Very large datasets (10,000+ images) can take several minutes to process fully.
- The source archive was partially corrupted, causing the parser to hang on a specific file.
- A temporary infrastructure issue prevented the job from completing.
How to fix
- Check the Jobs page for the processing job status and any error messages.
- If the job has been running for more than 15 minutes with no progress, cancel it and retry.
- For persistent failures, try re-uploading the dataset in smaller batches.
- If the problem persists, contact support with the dataset ID and job ID.
Still need help?
If your issue isn't covered above, reach out through the app's feedback form or contact us at support@cvpal.dev.