Why dihedral excluded from TTA

Hi All,
Does some one know why are we excluding the dihedral part from TTA.While we add back flip lr ,crop pad and zoom but not dihedral

augm_tfm = [o for o in learn.data.train_ds.tfms if o.tfm not in
               (crop_pad, flip_lr, dihedral, zoom)]
    try:
        pbar = master_bar(range(8))
        for i in pbar:
            row = 1 if i&1 else 0
            col = 1 if i&2 else 0
            flip = i&4
            d = {'row_pct':row, 'col_pct':col, 'is_random':False}
            tfm = [*augm_tfm, zoom(scale=scale, **d), crop_pad(**d)]
            if flip: tfm.append(flip_lr(p=1.))
            ds.tfms = tfm

Probably an empirical result by @jeremy

Dihedral applies a random flip (horizontal/vertical/transpose). Given TTA is generating separate predictions for flipped and non-flipped version of inputs it doesn’t make much sense to also have a random flip going on in dihedral.

1 Like