我想在我的脚本中使用数据加载器。
通常默认的函数调用是这样的。
dataset = ImageFolderWithPaths(
data_dir,
transforms.Compose([
transforms.ColorJitter(0.1, 0.1, 0.1, 0.1),
transforms.Resize((img_size_XY, img_size_XY)),
transforms.ToTensor(),
transforms.Normalize(_mean , _std)
])
)
dataloader = torch.utils.data.DataLoader(
dataset,
batch_size=batch_size,
shuffle=False,
num_workers=2
)
Run Code Online (Sandbox Code Playgroud)
并迭代我使用的这个数据加载器
for inputs, labels , paths in _dataloader:
break
Run Code Online (Sandbox Code Playgroud)
现在我需要收集每个图像的路径。
我在github中找到了这段代码:(https://gist.github.com/andrewjong/6b02ff237533b3b2c554701fb53d5c4d)
class ImageFolderWithPaths(datasets.ImageFolder):
"""Custom dataset that includes image file paths. Extends
torchvision.datasets.ImageFolder
"""
# override the __getitem__ method. this is the method that dataloader calls
def __getitem__(self, index):
# this is what ImageFolder normally returns
original_tuple = super(ImageFolderWithPaths, self).__getitem__(index)
# the …Run Code Online (Sandbox Code Playgroud)