Open utterances-bot opened 3 years ago
great post!
thanks you.
my data structure is different Path ---> train ---> images ---> masks ---> valid ---> images ---> masks
def label_func(x): return data_dir/f'train/masks/{x.stem}_masks.png'
my datablock db = DataBlock(blocks=(ImageBlock(),MaskBlock(codes)), batch_tfms= [ aug_transforms( mult=2.0, do_flip=True, flip_vert=True, max_rotate=20.0, min_zoom=0.75, max_zoom=1.25, max_lighting=0.05, #from 0.2 p_lighting=0.5), #from 0.75 Normalize.from_stats(imagenet_stats)], splitter=FolderSplitter(train_name='train', valid_name='val'), item_tfms=[Resize(im_size)], get_x=get_image_files, get_y=label_func )
ds = db.dataloaders(data_dir, bs=4)
error ~/my_tmp/env_fastai2/lib/python3.8/site-packages/fastai/data/block.py in datasets(self, source, verbose) 105 def datasets(self, source, verbose=False): 106 self.source = source ; pv(f"Collecting items from {source}", verbose) --> 107 items = (self.get_items or noop)(source) ; pv(f"Found {len(items)} items", verbose) 108 splits = (self.splitter or RandomSplitter())(items) 109 pv(f"{len(splits)} datasets of sizes {','.join([str(len(s)) for s in splits])}", verbose)
TypeError: object of type 'PosixPath' has no len()
could you let me know where I am going wrong, please?
data_dir_str = f'/mnt/Datasets/img_sets/SV_masks/' data_dir = Path(data_dir_str)
Generating Comparitive Baselines for CAMVID with fastai’s Dynamic Unet | fastblog
Exploring how baselines are being made and where fastai can fit in
https://muellerzr.github.io/fastblog/papers/2020/09/18/CAMVID.html