Skip to content

Reject pet images with malformed EXIF during preparation - #122

Merged
yyong119 merged 1 commit into
MLEveryday:masterfrom
Arthur031221:fix-pet-exif-validation-s46
Oct 8, 2026
Merged

yyong119 merged 1 commit into
MLEveryday:masterfrom
Arthur031221:fix-pet-exif-validation-s46

Conversation

@Arthur031221

Copy link
Copy Markdown
Contributor

Learners preparing their own pet images through COURSE_PET_IMAGES can have a PNG with valid pixels but malformed EXIF accepted into the split, then see decoding fail in pet_dataset.

prepare_pets checked image structure and decoded RGB pixels without applying the loader's EXIF orientation transform, so malformed metadata escaped validation. Preparation now applies ImageOps.exif_transpose before RGB conversion and records malformed EXIF through the existing rejection path. The regression uses a synthetic PNG with valid pixels and malformed EXIF, checks rejection, and decodes all three splits. The Microsoft dataset was not inspected for malformed EXIF.

On Linux/Python 3.12.3, .venv/bin/python -m unittest discover -s tests -q passed 18 tests. Basic and deep checks passed 15 and 4 scripts respectively, with matching notebook counts. Sync and docs checks passed. Python 3.11.15 also passed the basic checks, with 9 optional deep tests skipped. The regression fails on d430ac5, passes with the fix, and fails again when only the source change is reverted.

@yyong119
yyong119 merged commit ca3279e into MLEveryday:master Oct 8, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants