Time series Timeseries Deep Learning Machine Learning Python Pytorch fastai | State-of-the-art Deep Learning library for Time Series and Sequences in Pytorch / fastai
When I used my own data to run the example of multivariate classification, I reported this error, could you please help me to look at it?
`TypeError Traceback (most recent call last)
in
12
13 tfms = [None, [Categorize()]]
---> 14 dsets = TSDatasets(X, y, tfms=tfms, splits=splits, inplace=True)
D:\anaconda\lib\site-packages\tsai\data\core.py in __init__(self, X, y, items, sel_vars, sel_steps, tfms, tls, n_inp, dl_type, inplace, **kwargs)
469 self.tfms = _remove_brackets(tfms)
470 lts = [NoTfmLists if t is None else TSTfmdLists if getattr(t, 'vectorized', None) else TfmdLists for t in self.tfms]
--> 471 self.tls = L(lt(item, t, **kwargs) for lt,item,t in zip(lts, items, self.tfms))
472 if len(self.tls) > 0 and len(self.tls[0]) > 0:
473 self.typs = [type(tl.items[0]) if isinstance(tl.items[0], torch.Tensor) else self.typs[i] for i,tl in enumerate(self.tls)]
D:\anaconda\lib\site-packages\fastcore\foundation.py in __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)
99
100 # %% ../nbs/02_foundation.ipynb 46
D:\anaconda\lib\site-packages\fastcore\foundation.py in __init__(self, items, use_list, match, *rest)
104 def __init__(self, items=None, *rest, use_list=False, match=None):
105 if (use_list is not None) or not is_array(items):
--> 106 items = listify(items, *rest, use_list=use_list, match=match)
107 super().__init__(items)
108
D:\anaconda\lib\site-packages\fastcore\basics.py in listify(o, use_list, match, *rest)
64 elif isinstance(o, list): res = o
65 elif isinstance(o, str) or is_array(o): res = [o]
---> 66 elif is_iter(o): res = list(o)
67 else: res = [o]
68 if match is not None:
D:\anaconda\lib\site-packages\tsai\data\core.py in (.0)
469 self.tfms = _remove_brackets(tfms)
470 lts = [NoTfmLists if t is None else TSTfmdLists if getattr(t, 'vectorized', None) else TfmdLists for t in self.tfms]
--> 471 self.tls = L(lt(item, t, **kwargs) for lt,item,t in zip(lts, items, self.tfms))
472 if len(self.tls) > 0 and len(self.tls[0]) > 0:
473 self.typs = [type(tl.items[0]) if isinstance(tl.items[0], torch.Tensor) else self.typs[i] for i,tl in enumerate(self.tls)]
D:\anaconda\lib\site-packages\fastcore\foundation.py in __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)
99
100 # %% ../nbs/02_foundation.ipynb 46
D:\anaconda\lib\site-packages\fastai\data\core.py in __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)
369
370 def _new(self, items, split_idx=None, **kwargs):
D:\anaconda\lib\site-packages\fastai\data\core.py in setup(self, train_setup)
387 train_setup:bool=True # Apply `Transform`(s) only on training `DataLoader`
388 ):
--> 389 self.tfms.setup(self, train_setup)
390 if len(self) != 0:
391 x = super().__getitem__(0) if self.splits is None else super().__getitem__(self.splits[0])[0]
D:\anaconda\lib\site-packages\fastcore\transform.py in setup(self, items, train_setup)
198 tfms = self.fs[:]
199 self.fs.clear()
--> 200 for t in tfms: self.add(t,items, train_setup)
201
202 def add(self,ts, items=None, train_setup=False):
D:\anaconda\lib\site-packages\fastcore\transform.py in add(self, ts, items, train_setup)
202 def add(self,ts, items=None, train_setup=False):
203 if not is_listy(ts): ts=[ts]
--> 204 for t in ts: t.setup(items, train_setup)
205 self.fs+=ts
206 self.fs = self.fs.sorted(key='order')
D:\anaconda\lib\site-packages\fastcore\transform.py in setup(self, items, train_setup)
85 def setup(self, items=None, train_setup=False):
86 train_setup = train_setup if self.train_setup is None else self.train_setup
---> 87 return self.setups(getattr(items, 'train', items) if train_setup else items)
88
89 def _call(self, fn, x, split_idx=None, **kwargs):
D:\anaconda\lib\site-packages\fastcore\dispatch.py in __call__(self, *args, **kwargs)
118 elif self.inst is not None: f = MethodType(f, self.inst)
119 elif self.owner is not None: f = MethodType(f, self.owner)
--> 120 return f(*args, **kwargs)
121
122 def __get__(self, inst, owner):
D:\anaconda\lib\site-packages\fastai\data\transforms.py in setups(self, dsets)
254
255 def setups(self, dsets):
--> 256 if self.vocab is None and dsets is not None: self.vocab = CategoryMap(dsets, sort=self.sort, add_na=self.add_na)
257 self.c = len(self.vocab)
258
D:\anaconda\lib\site-packages\fastai\data\transforms.py in __init__(self, col, sort, add_na, strict)
230 if not hasattr(col,'unique'): col = L(col, use_list=True)
231 # `o==o` is the generalized definition of non-NaN used by Pandas
--> 232 items = L(o for o in col.unique() if o==o)
233 if sort: items = items.sorted()
234 self.items = '#na#' + items if add_na else items
D:\anaconda\lib\site-packages\fastcore\foundation.py in unique(self, sort, bidir, start)
164 def enumerate(self): return L(enumerate(self))
165 def renumerate(self): return L(renumerate(self))
--> 166 def unique(self, sort=False, bidir=False, start=None): return L(uniqueify(self, sort=sort, bidir=bidir, start=start))
167 def val2idx(self): return val2idx(self)
168 def cycle(self): return cycle(self)
D:\anaconda\lib\site-packages\fastcore\basics.py in uniqueify(x, sort, bidir, start)
722 def uniqueify(x, sort=False, bidir=False, start=None):
723 "Unique elements in `x`, optional `sort`, optional return reverse correspondence, optional prepend with elements."
--> 724 res = list(dict.fromkeys(x))
725 if start is not None: res = listify(start)+res
726 if sort: res.sort()
TypeError: unhashable type: 'numpy.ndarray'
`
When I used my own data to run the example of multivariate classification, I reported this error, could you please help me to look at it?
`TypeError Traceback (most recent call last)