这是我的文件夹结构
\nimage-folders/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 class_0/\n | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 001.jpg\n | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 002.jpg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 class_1/\n | \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 001.jpg\n | \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 002.jpg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 class_2/\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 001.jpg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 002.jpg\nRun Code Online (Sandbox Code Playgroud)\n通过使用ImageFoldertorchvision,我可以使用以下语法创建数据集:
\ndataset = ImageFolder("image-folders",...)
但这将读取整个子文件夹并创建 3 个目标类。我不想包含 class_2 文件夹,我希望我的数据集仅包含 class_0 和 class_1,除了删除/移动 class_2 文件夹之外,还有什么方法可以实现此目的?
\nSha*_*hai 10
您可以使用torch.utils.data.Subset原始完整ImageFolder数据集来完成此操作:
from torchvision.datasets import ImageFolder
from torch.utils.data import Subset
# construct the full dataset
dataset = ImageFolder("image-folders",...)
# select the indices of all other folders
idx = [i for i in range(len(dataset)) if dataset.imgs[i][1] != dataset.class_to_idx['class_s']]
# build the appropriate subset
subset = Subset(dataset, idx)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4346 次 |
| 最近记录: |