You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[20], line 11
1 data_block = DataBlock(
2 blocks=(ImageBlock, CategoryBlock),
3 get_x=existing(ColReader('thumbnail_path')),
(...)
7 batch_tfms=aug_transforms()
8 )
9 train = data_block.dataloaders(train_df, bs=4)
---> 11 train.show_batch(4)
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:151, in TfmdDL.show_batch(self, b, max_n, ctxs, show, unique, **kwargs)
149 if b is None: b = self.one_batch()
150 if not show: return self._pre_show_batch(b, max_n=max_n)
--> 151 show_batch(*self._pre_show_batch(b, max_n=max_n), ctxs=ctxs, max_n=max_n, **kwargs)
152 if unique: self.get_idxs = old_get_idxs
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:131, in TfmdDL._pre_show_batch(self, b, max_n)
129 def _pre_show_batch(self, b, max_n=9):
130 "Decode `b` to be ready for `show_batch`"
--> 131 b = self.decode(b)
132 if hasattr(b, 'show'): return b,None,None
133 its = self._decode_batch(b, max_n, full=False)
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:115, in TfmdDL.decode(self, b)
112 def decode(self,
113 b # Batch to decode
114 ):
--> 115 return to_cpu(self.after_batch.decode(self._retain_dl(b)))
File /opt/conda/lib/python3.10/site-packages/fastai/data/core.py:86, in TfmdDL._retain_dl(self, b)
84 def _retain_dl(self,b):
85 if not getattr(self, '_types', None): self._one_pass()
---> 86 return retain_types(b, typs=self._types)
File /opt/conda/lib/python3.10/site-packages/fastcore/dispatch.py:199, in retain_types(new, old, typs)
197 def retain_types(new, old=None, typs=None):
198 "Cast each item of `new` to type of matching item in `old` if it's a superclass"
--> 199 if not is_listy(new): return retain_type(new, old, typs)
200 if typs is not None:
201 if isinstance(typs, dict):
File /opt/conda/lib/python3.10/site-packages/fastcore/dispatch.py:193, in retain_type(new, old, typ, as_copy)
191 typ = old if isinstance(old,type) else type(old)
192 # Do nothing the new type is already an instance of requested type (i.e. same type)
--> 193 if typ==NoneType or isinstance(new, typ): return new
194 return retain_meta(old, cast(new, typ), as_copy=as_copy)
TypeError: isinstance() arg 2 must be a type, a tuple of types, or a union
The problem seems to be that explode_types() sometimes returns a dictionary which surprises retain_type() with a non-listy type.
ipdb> p typ
{<class 'tuple'>: [<class 'fastai.torch_core.TensorImage'>, <class 'fastai.torch_core.TensorCategory'>]}
I am new to fastai and struggling to understand how to fix this without breaking anything else. Any advice?
The text was updated successfully, but these errors were encountered:
Gets
The problem seems to be that explode_types() sometimes returns a dictionary which surprises retain_type() with a non-listy type.
I am new to fastai and struggling to understand how to fix this without breaking anything else. Any advice?
The text was updated successfully, but these errors were encountered: