Dataset을 나타내는 abstract class 이다.
key와 data sample의 map을 나타내는 데이터셋은 모두 이 class를 subclass해야한다. 모든 subclasses는 주어진 key에 대한 data sample fetching을 지원하는 __getitem__() 을 overwrite 해야합니다. subclass는 선택적으로 Sampler implementations과 DataLoader의 default option에 따른 데이터셋의 사이즈 반환하게 기대되는 __len__()을 overwrite할 수 있다.
data sample들의 iterable을 나타내는 dataset들은 모두 이 class를 subclass해야한다. 이러한 dataset형태는 data가 stream형태로 들어올 때 유용하다. 모든 subclasses들은 dataset의 sample들의 iterator를 반환하는 __iter__()를 overwrite해야 한다.
subclass가 DataLoader와 함께 쓰일 때, 데이터셋의 각 item들은 DataLoader iterator로부터 생성된다.
num_worker > 0 일 때, 각 worker process는 dataset object의 다른 복사본을 가진다. 그래서 복사본을 독립적으로 설정하여 worker로부터 반환된 중복된 데이터를 가지는 것을 방지하는 것이 권장된다. get_worker_info()가 worker process 중에 호출되었을 때 worker에 대한 정보를 반환한다. 이것은 각 복사본의 behavior를 수정하기 위해 dataset의 __iter__() method 나 DataLoader의 worker_init_fn option 에서도 사용될 수 있습니다.
Dataset wrapping tensors
각 sample은 first dimension을 따라 indexing tensor에 의해 검색됩니다.
multiple dataset을 concatenate한 dataset
이 class는 다른 datasets들을 모을 때 유용하다.
multiple IterableDatasets을 연결하는 dataset
이 class는 여러가지 datasets의 stream을 모으는데 유용하다. 연결하는 연산은 빠르게 수행되므로 large-scale datasets을 이 class를 이용해 concatenate하는 것은 효율적이다.
지정된 index를 이용한 dataset의 부분집합이다.