Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions configs/byol/byol_clas_r50.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
epochs: 100
epochs: 80
use_simclr_iters: True
global_batch_size: 1024
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

model:
name: ByolClassification
Expand Down Expand Up @@ -58,13 +61,9 @@ dataloader:
- name: Clip

lr_scheduler:
name: ByolLRScheduler
total_image: 1281167
total_batch: 1024
total_steps: 100
warmup_steps: 0
start_lr: 0.0001
end_lr: 1.6
name: Cosinesimclr
learning_rate: 0.4
T_max: 80

optimizer:
name: Momentum
Expand All @@ -74,5 +73,9 @@ log_config:
name: LogHook
interval: 10

lr_config:
name: LRSchedulerHook
unit: epoch

custom_config:
- name: EvaluateHook
14 changes: 8 additions & 6 deletions configs/byol/byol_r50_IM.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
epochs: 300
use_byol_iters: True
use_simclr_iters: True
total_images: 1281167
global_batch_size: 4096
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

model:
name: BYOL
Expand Down Expand Up @@ -84,12 +85,13 @@ dataloader:


lr_scheduler:
name: CosineWarmup
learning_rate: 4.8
T_max: 93835
warmup_steps: 3127
start_lr: 0.0001
name: simclrCosineWarmup
learning_rate_scaling: linear
total_images: 1281167
warmup_epochs: 10
start_lr: 0
end_lr: 4.8
T_max: 300


optimizer:
Expand Down
93 changes: 93 additions & 0 deletions configs/simclr/simclr_clas_r50.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
epochs: 90
output_dir: cls_output_dir
use_simclr_iters: True
seed: 0
device: gpu
# used for static mode and model export
image_shape: [3, 224, 224]
save_inference_dir: ./cls_inference
total_iters: 51

model:
name: Classification
backbone:
name: ResNet
depth: 50
frozen_stages: 4
head:
name: ClasHead
with_avg_pool: true
in_channels: 2048

dataloader:
train:
loader:
num_workers: 8
use_shared_memory: True
sampler:
batch_size: 512
shuffle: true
drop_last: true
dataset:
name: ImageNet
dataroot: data/ILSVRC2012/train
return_label: True
transforms:
- name: RandomResizedCrop
size: 224
- name: RandomHorizontalFlip
- name: Transpose
- name: NormalizeImage
scale: 1.0/255.0
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
val:
loader:
num_workers: 8
use_shared_memory: True
sampler:
batch_size: 512
shuffle: false
drop_last: false
dataset:
name: ImageNet
dataroot: data/ILSVRC2012/val
return_label: True
transforms:
- name: Resize
size: 256
- name: CenterCrop
size: 224
- name: Transpose
- name: NormalizeImage
scale: 1.0/255.0
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]


lr_scheduler:
name: Cosinesimclr
learning_rate: 1.6
T_max: 90

lr_config:
name: LRSchedulerHook
unit: epoch

optimizer:
name: LarsMomentumOptimizer
momentum: 0.9
lars_weight_decay: 0
exclude_from_weight_decay: []


log_config:
name: LogHook
interval: 10

custom_config:
- name: EvaluateHook

checkpoint:
name: CheckpointHook
interval: 10
28 changes: 16 additions & 12 deletions configs/simclr/simclr_r50_IM.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ epochs: 100
use_simclr_iters: True
global_batch_size: 4096
output_dir: output_dir
device: gpu
total_iters: 51

model:
name: SimCLR
Expand All @@ -21,7 +23,9 @@ model:

dataloader:
train:
num_workers: 6
loader:
num_workers: 4
use_shared_memory: True
sampler:
batch_size: 32
shuffle: true
Expand Down Expand Up @@ -55,7 +59,7 @@ dataloader:
p: 0.5
- name: RandomHorizontalFlip
- name: Transpose
- name: NormalizeImage
- name: NormalizeImage
scale: 1.0/255.0
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]
Expand All @@ -77,15 +81,17 @@ dataloader:
p: 0.5
- name: RandomHorizontalFlip
- name: Transpose
- name: NormalizeImage
- name: NormalizeImage
scale: 1.0/255.0
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]

val:
num_workers: 4
loader:
num_workers: 4
use_shared_memory: True
sampler:
batch_size: 512
batch_size: 256
shuffle: false
drop_last: false
dataset:
Expand All @@ -98,29 +104,27 @@ dataloader:
- name: CenterCrop
size: 224
- name: Transpose
- name: NormalizeImage
- name: NormalizeImage
scale: 1.0/255.0
mean: [0.485, 0.456, 0.406]
std: [0.229, 0.224, 0.225]

lr_scheduler:
name: simclrCosineWarmup
learning_rate_scaling: sqrt
learning_rate_scaling: linear
total_images: 1281167
warmup_epochs: 10
start_lr: 0
end_lr: 1.0
end_lr: 0.3
T_max: 200


optimizer:
name: LarsMomentumOptimizer
momentum: 0.9
lars_weight_decay: 0.0001
lars_weight_decay: 1e-6
exclude_from_weight_decay: ["scale","offset",".bias"]

log_config:
name: LogHook
interval: 10


7 changes: 4 additions & 3 deletions configs/simsiam/simsiam_clas_r50.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ global_batch_size: 4096
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

# used for static mode and model export
image_shape: [3, 224, 224]
Expand All @@ -23,7 +24,7 @@ model:
dataloader:
train:
loader:
num_workers: 16
num_workers: 8
use_shared_memory: True
sampler:
batch_size: 512
Expand All @@ -44,7 +45,7 @@ dataloader:
std: [0.229, 0.224, 0.225]
val:
loader:
num_workers: 16
num_workers: 8
use_shared_memory: True
sampler:
batch_size: 512
Expand Down Expand Up @@ -77,7 +78,7 @@ optimizer:

log_config:
name: LogHook
interval: 50
interval: 10

lr_config:
name: LRSchedulerHook
Expand Down
1 change: 1 addition & 0 deletions configs/simsiam/simsiam_r50.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ global_batch_size: 512
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

model:
name: SimSiam
Expand Down
3 changes: 2 additions & 1 deletion configs/swav/swav_clas_r50.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ epochs: 100
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

# used for static mode and model export
image_shape: [3, 224, 224]
Expand Down Expand Up @@ -75,7 +76,7 @@ optimizer:

log_config:
name: LogHook
interval: 50
interval: 10

custom_config:
- name: EvaluateHook
21 changes: 12 additions & 9 deletions configs/swav/swav_r50_100ep.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
epochs: 100
use_simclr_iters: True
global_batch_size: 256
output_dir: output_dir
seed: 0
device: gpu
total_iters: 51

model:
name: SwAV
Expand All @@ -28,10 +31,10 @@ model:
dataloader:
train:
loader:
num_workers: 16
num_workers: 8
use_shared_memory: True
sampler:
batch_size: 128
batch_size: 32
shuffle: true
drop_last: true
dataset:
Expand All @@ -43,13 +46,13 @@ dataloader:
max_scale_crops: [1., 0.14]

lr_scheduler:
name: CosineWarmup
learning_rate: 4.8
T_max: 31200
warmup_steps: 3120
start_lr: 0.3
end_lr: 4.8
eta_min: 0.0048
name: simclrCosineWarmup
learning_rate_scaling: linear
total_images: 1281167
warmup_epochs: 10
start_lr: 0
end_lr: 0.3
T_max: 300

optimizer:
name: LarsMomentumOptimizer
Expand Down
7 changes: 7 additions & 0 deletions passl_v110/datasets/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import numpy as np
import math
import paddle
import random
from paddle.io import DistributedBatchSampler

from ..utils.registry import Registry, build_from_config
Expand Down Expand Up @@ -92,11 +93,17 @@ def build_dataloader(cfg, device):

sampler_name = sampler_cfg.pop('name', 'DistributedBatchSampler')

def worker_init_fn(worker_id):
""" set seed in subproces for dataloader when num_workers > 0"""
np.random.seed(cfg.seed + worker_id)
random.seed(cfg.seed + worker_id)

sampler = eval("{}".format(sampler_name))(dataset, **sampler_cfg)

dataloader = paddle.io.DataLoader(dataset,
batch_sampler=sampler,
places=device,
worker_init_fn=worker_init_fn,
**loader_cfg)

#setup mixup / cutmix
Expand Down
Loading