dataset.py 1.0 KB

12345678910111213141516171819202122232425262728
  1. import fastai
  2. from fastai import *
  3. from fastai.core import *
  4. from fastai.vision.transform import get_transforms
  5. from fastai.vision.data import ImageImageList, ImageDataBunch, imagenet_stats
  6. from .augs import noisify
  7. def get_colorize_data(sz:int, bs:int, crappy_path:Path, good_path:Path, random_seed:int=None,
  8. keep_pct:float=1.0, num_workers:int=8, xtra_tfms=[])->ImageDataBunch:
  9. src = (ImageImageList.from_folder(crappy_path)
  10. .use_partial_data(sample_pct=keep_pct, seed=random_seed)
  11. .split_by_rand_pct(0.1, seed=random_seed))
  12. data = (src.label_from_func(lambda x: good_path/x.relative_to(crappy_path))
  13. .transform(get_transforms(max_zoom=1.2, max_lighting=0.5, max_warp=0.25, xtra_tfms=xtra_tfms), size=sz, tfm_y=True)
  14. .databunch(bs=bs, num_workers=num_workers, no_check=True)
  15. .normalize(imagenet_stats, do_y=True))
  16. data.c = 3
  17. return data
  18. def get_dummy_databunch()->ImageDataBunch:
  19. path = Path('./dummy/')
  20. return get_colorize_data(sz=1, bs=1, crappy_path=path, good_path=path, keep_pct=0.001)