Fix: Expand tilde (~) in home directory paths for GTSRB dataset #9263
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes an issue where the GTSRB dataset fails to recognize existing data when the root path contains a tilde (
~) for the home directory.Problem
Within
torchvision/datasets/gtsrb.py, due to the root path not being correctly inherited from the VisionDataset class,pathlib.Pathfailed to automatically expand a path containing a tilde (e.g.,~/data) into its corresponding absolute home directory path (e.g.,/home/username/data). Consequently, the_check_exists()method would incorrectly returnFalseeven when the dataset was already present, leading to superfluous downloads or runtime errors.This issue was not observed in other classes, such as OxfordIIITPet, which correctly inherit and utilize the root path from the VisionDataset class.
Changes
self.rootto ensure proper inheritance from theVisonDatasetclass.~/data/gtsrbare correctly resolved to absolute paths