티스토리 뷰

Crowd Counting 목적으로 구축된  ShanghaiTech 데이터셋을 보면 A part/B part 로 데이터셋이 나누어져있다.

 

이는 목적은 같지만 데이터의 특징이 달라서 그런건데,  A, B를 합쳐서 학습을 해보고 싶다는 생각이 들었다.

 

기존에 데이터셋 클래스를, A part 따로 B part 따로 읽을 수 있게 구현해놨는데 이걸 합쳐서 읽을 수 있게 내가 직접 구현할까 하다가 한 번 찾아봤다.

 

역시나 있더라...

 

https://stackoverflow.com/a/67163131

 

Pytorch - Concatenating Datasets before using Dataloader

I am trying to load two datasets and use them both for training. Package versions: python 3.7; pytorch 1.3.1 It is possible to create data_loaders seperately and train on them sequentially: f...

stackoverflow.com

 

torch.utils.data.ConcatDataset 클래스를 이용하면 된다.

예시

    train_dataset_a = ds.ShanghaiCrowdDataset(root="ShanghaiTech", part="A", split="train", apply_augmentation=True)
    train_dataset_b = ds.ShanghaiCrowdDataset(root="ShanghaiTech", part="B", split="train", apply_augmentation=True)
    train_dataset = torch.utils.data.ConcatDataset([train_dataset_a, train_dataset_b])

 

더 놀라운건 아래처럼 써도 된다.

 

    train_dataset_a = ds.ShanghaiCrowdDataset(root="ShanghaiTech", part="A", split="train", apply_augmentation=True)
    train_dataset_b = ds.ShanghaiCrowdDataset(root="ShanghaiTech", part="B", split="train", apply_augmentation=True)
    train_dataset = train_dataset_a + train_dataset_b

'Deep Learning > PyTorch' 카테고리의 다른 글

TorchLightning 기반 프로젝트 모음  (0) 2022.11.11
[PyTorch] Swin 모델 사용법  (0) 2022.11.02
PyTorch Contribution!  (0) 2022.08.11
YOLOv5 Contribution! Weight Decay  (2) 2022.07.17
[PyTorch] AutoMixedPrecision 주의점  (0) 2022.03.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함