Is anyone else having this problem in Kaggle:
bears = bears.new(item_tfms=Resize(128, ResizeMethod.Squish))
dls = bears.dataloaders(path)
dls.valid.show_batch(max_n=4, nrows=1)
TypeError Traceback (most recent call last)
Cell In[26], line 2
1 bears = bears.new(item_tfms=Resize(128, ResizeMethod.Squish))
----> 2 dls = bears.dataloaders(path)
3 dls.valid.show_batch(max_n=4, nrows=1)
File /opt/conda/lib/python3.10/site-packages/fastai/data/block.py:155, in DataBlock.dataloaders(self, source, path, verbose, **kwargs)
149 def dataloaders(self,
150 source, # The data source
151 path:str=‘.’, # Data source and default Learner
path
152 verbose:bool=False, # Show verbose messages
153 **kwargs
154 ) → DataLoaders:
→ 155 dsets = self.datasets(source, verbose=verbose)
156 kwargs = {**self.dls_kwargs, **kwargs, ‘verbose’: verbose}
157 return dsets.dataloaders(path=path, after_item=self.item_tfms, after_batch=self.batch_tfms, **kwargs)
File /opt/conda/lib/python3.10/site-packages/fastai/data/block.py:147, in DataBlock.datasets(self, source, verbose)
145 splits = (self.splitter or RandomSplitter())(items)
146 pv(f"{len(splits)} datasets of sizes {‘,’.join([str(len(s)) for s in splits])}", verbose)
→ 147 return Datasets(items, tfms=self._combine_type_tfms(), splits=splits, dl_type=self.dl_type, n_inp=self.n_inp, verbose=verbose)
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:454, in Datasets.init(self, items, tfms, tls, n_inp, dl_type, **kwargs)
445 def init(self,
446 items:list=None, # List of items to create Datasets
447 tfms:MutableSequence|Pipeline=None, # List of Transform
(s) or Pipeline
to apply
(…)
451 **kwargs
452 ):
453 super().init(dl_type=dl_type)
→ 454 self.tls = L(tls if tls else [TfmdLists(items, t, **kwargs) for t in L(ifnone(tfms,[None]))])
455 self.n_inp = ifnone(n_inp, max(1, len(self.tls)-1))
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:454, in (.0)
445 def init(self,
446 items:list=None, # List of items to create Datasets
447 tfms:MutableSequence|Pipeline=None, # List of Transform
(s) or Pipeline
to apply
(…)
451 **kwargs
452 ):
453 super().init(dl_type=dl_type)
→ 454 self.tls = L(tls if tls else [TfmdLists(items, t, **kwargs) for t in L(ifnone(tfms,[None]))])
455 self.n_inp = ifnone(n_inp, max(1, len(self.tls)-1))
File /opt/conda/lib/python3.10/site-packages/fastcore/foundation.py:98, in _L_Meta.call(cls, x, *args, **kwargs)
96 def call(cls, x=None, *args, **kwargs):
97 if not args and not kwargs and x is not None and isinstance(x,cls): return x
—> 98 return super().call(x, *args, **kwargs)
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:368, in TfmdLists.init(self, items, tfms, use_list, do_setup, split_idx, train_setup, splits, types, verbose, dl_type)
366 if do_setup:
367 pv(f"Setting up {self.tfms}", verbose)
→ 368 self.setup(train_setup=train_setup)
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:397, in TfmdLists.setup(self, train_setup)
395 x = f(x)
396 self.types.append(type(x))
→ 397 types = L(t if is_listy(t) else [t] for t in self.types).concat().unique()
398 self.pretty_types = ‘\n’.join([f’ - {t}’ for t in types])
TypeError: ‘NoneType’ object is not iterable