Closed ain-soph closed 1 year ago
Hi @ain-soph and sorry for the silence... I was kind of waiting for this to be finally announced officially: https://github.com/pytorch/data/#torchdata-see-note-below-on-current-status
I'll try to provide very brief answers to your questions below
shuffle=True
in the dataloader. It's pretty awful. But shuffling absolutely needs to happen before sharding (https://github.com/pytorch/data/issues/302) and this is the only way we found to prevent users shooting themselves in the foot.
Hi all, I'm currently exploring builtin datasets with new standards:
https://github.com/pytorch/vision/blob/main/torchvision/prototype/datasets
Let's take Cifar10 as an example. I have several questions:
iter
rather thanmap
style? When I have an index (e.g.,2331
), I can no longer usedataset[2331]
like the oldCIFAR10
.In this case, how to
get_item
for the new format dataset? Do I have to useIterToMapConverter
? That'll be quite strange because raw data format ismap
, I make ititer
and traverse to change back tomap
.hint_shuffling
do?It's used in all prototype datasets. It seems to wrap datapipe with a
shuffler
butset_shuffle(False)
. That seems doing nothing?Decompressor
and setresource.preprocess='decompress' or 'extract'
?What's the difference among
Decompressor
,resource.preprocess='decompress'
,resource.preprocess='extract'
and using nothing?Cifar10
resource is acifar-10-python.tar.gz
and sets nothing. It will default call_guess_archive_loader
inOnlineResource.load
to generate aTarArchiveLoader
MNIST
resource is atrain-images-idx3-ubyte.gz
and uses aDecompressor
cub200
resource is aCUB_200_2011.tgz
usesdecompress=True
AutoAugment
orRandomCrop
? Especially aboutToTensor
ortransforms.PILToTensor(), transforms.ConvertImageDtype(torch.float)
(since prototype dataset returns uint8 Tensor). From the Transform V2 Tutorial Page, I may assume that transform is no longer embedded in Dataset because it doesn't accepttransform
ortarget_transform
args? Then how can I fetch augmented data from the DataLoader?ImageFolder
type. e.g., ImageNet, GTSRB),the output image format isEncodedImage -> EncodedData -> Datapoint
. For dataset stored in binary (e.g., MNIST and CIFAR), the output image format isImage -> Datapoint
. Why are they different? I see most transform V2 APIs are conducted onImage
. Why isEncodedImage
used here?