path = Path('example_data/monthly_data')
month='july'
fnames = [path/f'{month}/{f}' for f in os.listdir(path/f'{month}') if f.endswith('.tif')][:2]Augmentations
Helper functions to make working with Albumentations and Fast.ai easier
Patching for drone_detector.data classes
RegressionMask.affine_coord
RegressionMask.affine_coord (x:drone_detector.engines.fastai.data.Regres sionMask, mat=None, coord_tfm=None, sz=None, mode='nearest', pad_mode='reflection', align_corners=True)
RegressionMask can’t be long type
AlbumentationsTransform
AlbumentationsTransform
AlbumentationsTransform (train_aug, valid_aug=None)
A transform handler for multiple Albumentation transforms in simple classification or regression tasks.
SegmentationAlbumentationsTransform
SegmentationAlbumentationsTransform
SegmentationAlbumentationsTransform (aug)
A transform handler for Albumentation transforms for segmentation tasks.
transform_list = [A.ToFloat(max_value=65535.0, always_apply=True),
A.RandomBrightnessContrast(p=0.5,brightness_limit=.05, brightness_by_max=False),
A.RandomRotate90(p=1),
A.HorizontalFlip(p=.5),
A.VerticalFlip(p=.5),
A.CoarseDropout(),
A.FromFloat(max_value=65535.0, dtype=np.int16, always_apply=True)
]used_tfms = SegmentationAlbumentationsTransform(A.Compose(transform_list))segm = TifSegmentationDataLoaders.from_label_func(path/f'{month}_2018', fnames, y_block=RegressionMaskBlock,
label_func=partial(label_with_matching_fname,
path=path/'masks'),
batch_tfms = [
#Normalize.from_stats(*stats)
],
item_tfms = [used_tfms],
bs=1)segm.show_batch(channels=[3,2,1])
files = get_image_timeseries(path,
months=['may', 'june', 'july', 'august', 'september', 'october'], masks='masks')dblock = DataBlock(blocks=(MultiChannelImageTupleBlock,
RegressionMaskBlock),
get_items=lambda x: x,
get_x=get_all_but_last, get_y=get_last,
item_tfms=[
used_tfms
],
batch_tfms=[
])dls = dblock.dataloaders(files[:1], bs=1)dls.show_batch(channels=[3,2,1])