Skip to content

Commit 809a9e1

Browse files
committed
Pass train-crop-mode to create_loader/transforms from train.py args
1 parent 53a4888 commit 809a9e1

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

timm/data/loader.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,7 @@ def create_loader(
196196
re_mode: str = 'const',
197197
re_count: int = 1,
198198
re_split: bool = False,
199+
train_crop_mode: Optional[str] = None,
199200
scale: Optional[Tuple[float, float]] = None,
200201
ratio: Optional[Tuple[float, float]] = None,
201202
hflip: float = 0.5,
@@ -280,6 +281,7 @@ def create_loader(
280281
input_size,
281282
is_training=is_training,
282283
no_aug=no_aug,
284+
train_crop_mode=train_crop_mode,
283285
scale=scale,
284286
ratio=ratio,
285287
hflip=hflip,

timm/data/transforms_factory.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def transforms_imagenet_train(
8383
8484
Args:
8585
img_size: Target image size.
86+
train_crop_mode: Training random crop mode ('rrc', 'rkrc', 'rkrr').
8687
scale: Random resize scale range (crop area, < 1.0 => zoom in).
8788
ratio: Random aspect ratio range (crop ratio for RRC, ratio adjustment factor for RKR).
8889
hflip: Horizontal flip probability.
@@ -112,6 +113,7 @@ def transforms_imagenet_train(
112113
* normalizes and converts the branches above with the third, final transform
113114
"""
114115
train_crop_mode = train_crop_mode or 'rrc'
116+
assert train_crop_mode in {'rrc', 'rkrc', 'rkrr'}
115117
if train_crop_mode in ('rkrc', 'rkrr'):
116118
# FIXME integration of RKR is a WIP
117119
scale = tuple(scale or (0.8, 1.00))
@@ -318,6 +320,7 @@ def create_transform(
318320
input_size: Union[int, Tuple[int, int], Tuple[int, int, int]] = 224,
319321
is_training: bool = False,
320322
no_aug: bool = False,
323+
train_crop_mode: Optional[str] = None,
321324
scale: Optional[Tuple[float, float]] = None,
322325
ratio: Optional[Tuple[float, float]] = None,
323326
hflip: float = 0.5,
@@ -347,6 +350,7 @@ def create_transform(
347350
input_size: Target input size (channels, height, width) tuple or size scalar.
348351
is_training: Return training (random) transforms.
349352
no_aug: Disable augmentation for training (useful for debug).
353+
train_crop_mode: Training random crop mode ('rrc', 'rkrc', 'rkrr').
350354
scale: Random resize scale range (crop area, < 1.0 => zoom in).
351355
ratio: Random aspect ratio range (crop ratio for RRC, ratio adjustment factor for RKR).
352356
hflip: Horizontal flip probability.
@@ -400,6 +404,7 @@ def create_transform(
400404
elif is_training:
401405
transform = transforms_imagenet_train(
402406
img_size,
407+
train_crop_mode=train_crop_mode,
403408
scale=scale,
404409
ratio=ratio,
405410
hflip=hflip,

train.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@
245245
group = parser.add_argument_group('Augmentation and regularization parameters')
246246
group.add_argument('--no-aug', action='store_true', default=False,
247247
help='Disable all training augmentation, override other train aug args')
248+
group.add_argument('--train-crop-mode', type=str, default=None,
249+
help='Crop-mode in train'),
248250
group.add_argument('--scale', type=float, nargs='+', default=[0.08, 1.0], metavar='PCT',
249251
help='Random resize scale (default: 0.08 1.0)')
250252
group.add_argument('--ratio', type=float, nargs='+', default=[3. / 4., 4. / 3.], metavar='RATIO',
@@ -685,6 +687,7 @@ def main():
685687
re_mode=args.remode,
686688
re_count=args.recount,
687689
re_split=args.resplit,
690+
train_crop_mode=args.train_crop_mode,
688691
scale=args.scale,
689692
ratio=args.ratio,
690693
hflip=args.hflip,

0 commit comments

Comments
 (0)