일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Meta Learning
- clean code
- web
- 3d
- ML
- algorithm
- Python
- cs
- computervision
- 머신러닝
- Torch
- CV
- SSL
- nerf
- Depth estimation
- math
- Vision
- PRML
- 알고리즘
- GAN
- 딥러닝
- pytorch
- FineGrained
- REACT
- FGVC
- 자료구조
- classification
- Front
- nlp
- dl
- Today
- Total
KalelPark's LAB
[ Pytorch ] Data Sampler & Sequence Bucketing? 본문
Data Sampler는 주어진 Data Pool과 batchsize에서 어떻게 batch를 형성할지 결정해주며,
Dataset의 순서를 결정하는 역할을 하기도 합니다. DataLoader가 초기화될 때, 데이터셋의 샘플들의 Sequence Order를 작성한다.
만들어진 Sequence를 통하여, 데이터셋에서 데이터들이 주어진 Batchsize만큼 batch의 형태로 나오게 됩니다.
Sampler에는 여러가지가 존재합니다.
- Random Sampler : 랜덤, replacement 여부 선택 가능, 개수 선택 가능
- SubsetRandom Sampler : 랜덤 리스트, 위와 두 조건 불가능
- Sequential Sampler : 항상 같은 순서
- Custom Sampler (Weight) : 가중치에 따른 확률
- DistributedSampler (Weight) : 분산처리
위의 내용을 공부한 이유는, Self-Supervised Learning을 위함이다.
Self Supervised Learning에서의 Unsupervised의 경우에는 Positive Sampling과 NegativeSampling을 해야하는데,
Positive Sampling과 NegativeSampling을 하는 방법에 대해서 명확히 몰랐었다. transform으로 간단할 수 있음을 알 수 있다.
# Transform
train_transform = transforms.Compose([
transforms.Resize((250,250)),
transforms.RandomResizedCrop(224),
transforms.RandomApply([
transforms.ColorJitter(0.5, 0.5, 0.5)
], p=0.8),
transforms.RandomGrayscale(p=0.2),
transforms.ToTensor(),
transforms.Normalize((0.5,0.5,0.5),(0.5,0.5,0.5))
])
# Transform 설정
class Split:
def __init__(self, base_transform):
self.base_transform = base_transform
def __call__(self, x):
q = self.base_transform(x)
k = self.base_transform(x)
return [q, k]
# transform 설정
train_ds = datasets.STL10(path2data, split='train',
download=True, transform=Split(train_transform))
train_dl = DataLoader(train_ds, batch_size=256, shuffle=True)
참고
https://deep-learning-study.tistory.com/744
[논문 구현] MoCov2(2020) PyTorch 구현
안녕하세요, 이번 포스팅에서는 MoCov2를 Google Colab 환경에서 PyTorch로 구현해보도록 하겠습니다. 논문 리뷰와 전체 코드는 아래 주소에서 확인하실 수 있습니다. [논문 읽기] MoCov2(2020), Improved Baseli
deep-learning-study.tistory.com
https://subinium.github.io/pytorch-dataloader/
[Pytorch] DataLoader parameter별 용도
pytorch reference 문서를 다 외우면 얼마나 편할까!!
subinium.github.io
https://www.kaggle.com/code/shahules/guide-pytorch-data-samplers-sequence-bucketing/notebook
Guide: Pytorch data Samplers & Sequence bucketing
Explore and run machine learning code with Kaggle Notebooks | Using data from CommonLit Readability Prize
www.kaggle.com
'Python > Pytorch' 카테고리의 다른 글
[Pytorch] torch.gather 코드로 간략하게 이해하기 (0) | 2023.03.16 |
---|---|
[ Pytorch ] Tensor를 나누는 방법들, Split, Chunk란? (0) | 2023.01.25 |
[ Pytorch ] meshgrid, cumsum란? (0) | 2023.01.23 |
[ Pytorch ] Logsumexp 활용하기 (0) | 2023.01.05 |
[ Pytorch ] Chunk 활용하기 (0) | 2023.01.03 |