Hi, i'm having an issue with this code.
learn.lr_find(suggestions=True)
, learn.fit_one_cycle(1, lr_max=1e-2)
It throws an error below when following the codes from: https://github.com/ohmeow/ohmeow_website/blob/master/_notebooks/2020-05-23-text-generation-with-blurr.ipynb
fastai2 version: 0.0.30
blurr version: 0.0.7
`---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in with_events(self, f, event_type, ex, final)
154 def with_events(self, f, event_type, ex, final=noop):
--> 155 try: self(f'before{event_type}') ;f()
156 except ex: self(f'after_cancel{event_type}')
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in all_batches(self)
160 self.n_iter = len(self.dl)
--> 161 for o in enumerate(self.dl): self.one_batch(*o)
162
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in one_batch(self, i, b)
175 self._split(b)
--> 176 self._with_events(self._do_one_batch, 'batch', CancelBatchException)
177
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in with_events(self, f, event_type, ex, final)
156 except ex: self(f'after_cancel{event_type}')
--> 157 finally: self(f'after_{event_type}') ;final()
158
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in call(self, event_name)
132
--> 133 def call(self, event_name): L(event_name).map(self._call_one)
134
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in map(self, f, *args, **kwargs)
382 else f.getitem)
--> 383 return self._new(map(g, self))
384
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in _new(self, items, *args, **kwargs)
332 def _xtra(self): return None
--> 333 def _new(self, items, *args, **kwargs): return type(self)(items, *args, use_list=None, **kwargs)
334 def getitem(self, idx): return self._get(idx) if is_indexer(idx) else L(self._get(idx), use_list=None)
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in call(cls, x, args, **kwargs)
46
---> 47 res = super().call(((x,) + args), **kwargs)
48 res._newchk = 0
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in init(self, items, use_list, match, *rest)
323 if (use_list is not None) or not _is_array(items):
--> 324 items = list(items) if use_list else _listify(items)
325 if match is not None:
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in _listify(o)
259 if isinstance(o, str) or _is_array(o): return [o]
--> 260 if is_iter(o): return list(o)
261 return [o]
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in call(self, *args, **kwargs)
225 fargs = [args[x.i] if isinstance(x, _Arg) else x for x in self.pargs] + args[self.maxi+1:]
--> 226 return self.fn(*fargs, **kwargs)
227
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in _call_one(self, event_name)
136 assert hasattr(event, event_name), event_name
--> 137 [cb(event_name) for cb in sort_by_run(self.cbs)]
138
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in (.0)
136 assert hasattr(event, event_name), event_name
--> 137 [cb(event_name) for cb in sort_by_run(self.cbs)]
138
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/callback/core.py in call(self, event_name)
43 res = None
---> 44 if self.run and _run: res = getattr(self, event_name, noop)()
45 if event_name=='after_fit': self.run=True #Reset self.run to True at each end of fit
/anaconda3/envs/test/lib/python3.6/site-packages/blurr/modeling/summarization.py in after_batch(self)
80
---> 81 self.generated_ids += gen_ids.tolist()
82 self.refernce_ids += self.yb[0].tolist()
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in getattr(self, k)
239 attr = getattr(self,self._default,None)
--> 240 if attr is not None: return getattr(attr,k)
241 raise AttributeError(k)
AttributeError: 'Learner' object has no attribute 'generated_ids'
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last)
in
----> 1 learn.fit_one_cycle(1, lr_max=1e-2)
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/utils.py in _f(*args, **kwargs)
450 init_args.update(log)
451 setattr(inst, 'init_args', init_args)
--> 452 return inst if to_return else f(*args, **kwargs)
453 return _f
454
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/callback/schedule.py in fit_one_cycle(self, n_epoch, lr_max, div, div_final, pct_start, wd, moms, cbs, reset_opt)
111 scheds = {'lr': combined_cos(pct_start, lr_max/div, lr_max, lr_max/div_final),
112 'mom': combined_cos(pct_start, *(self.moms if moms is None else moms))}
--> 113 self.fit(n_epoch, cbs=ParamScheduler(scheds)+L(cbs), reset_opt=reset_opt, wd=wd)
114
115 # Cell
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/utils.py in _f(*args, **kwargs)
450 init_args.update(log)
451 setattr(inst, 'init_args', init_args)
--> 452 return inst if to_return else f(*args, **kwargs)
453 return _f
454
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in fit(self, n_epoch, lr, wd, cbs, reset_opt)
202 self.opt.set_hypers(lr=self.lr if lr is None else lr)
203 self.n_epoch,self.loss = n_epoch,tensor(0.)
--> 204 self._with_events(self._do_fit, 'fit', CancelFitException, self._end_cleanup)
205
206 def _end_cleanup(self): self.dl,self.xb,self.yb,self.pred,self.loss = None,(None,),(None,),None,None
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in with_events(self, f, event_type, ex, final)
153
154 def with_events(self, f, event_type, ex, final=noop):
--> 155 try: self(f'before{event_type}') ;f()
156 except ex: self(f'after_cancel{event_type}')
157 finally: self(f'after_{event_type}') ;final()
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in _do_fit(self)
192 for epoch in range(self.n_epoch):
193 self.epoch=epoch
--> 194 self._with_events(self._do_epoch, 'epoch', CancelEpochException)
195
196 @log_args(but='cbs')
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in with_events(self, f, event_type, ex, final)
153
154 def with_events(self, f, event_type, ex, final=noop):
--> 155 try: self(f'before{event_type}') ;f()
156 except ex: self(f'after_cancel{event_type}')
157 finally: self(f'after_{event_type}') ;final()
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in _do_epoch(self)
187 def _do_epoch(self):
188 self._do_epoch_train()
--> 189 self._do_epoch_validate()
190
191 def _do_fit(self):
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in _do_epoch_validate(self, ds_idx, dl)
183 if dl is None: dl = self.dls[ds_idx]
184 self.dl = dl;
--> 185 with torch.no_grad(): self._with_events(self.all_batches, 'validate', CancelValidException)
186
187 def _do_epoch(self):
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in with_events(self, f, event_type, ex, final)
155 try: self(f'before{event_type}') ;f()
156 except ex: self(f'after_cancel_{event_type}')
--> 157 finally: self(f'after_{event_type}') ;final()
158
159 def all_batches(self):
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in call(self, event_name)
131 def ordered_cbs(self, event): return [cb for cb in sort_by_run(self.cbs) if hasattr(cb, event)]
132
--> 133 def call(self, event_name): L(event_name).map(self._call_one)
134
135 def _call_one(self, event_name):
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in map(self, f, *args, **kwargs)
381 else f.format if isinstance(f,str)
382 else f.getitem)
--> 383 return self._new(map(g, self))
384
385 def filter(self, f, negate=False, **kwargs):
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in _new(self, items, *args, **kwargs)
331 @Property
332 def _xtra(self): return None
--> 333 def _new(self, items, *args, **kwargs): return type(self)(items, *args, use_list=None, **kwargs)
334 def getitem(self, idx): return self._get(idx) if is_indexer(idx) else L(self._get(idx), use_list=None)
335 def copy(self): return self._new(self.items.copy())
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in call(cls, x, args, **kwargs)
45 return x
46
---> 47 res = super().call(((x,) + args), **kwargs)
48 res._newchk = 0
49 return res
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in init(self, items, use_list, match, *rest)
322 if items is None: items = []
323 if (use_list is not None) or not _is_array(items):
--> 324 items = list(items) if use_list else _listify(items)
325 if match is not None:
326 if is_coll(match): match = len(match)
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in _listify(o)
258 if isinstance(o, list): return o
259 if isinstance(o, str) or _is_array(o): return [o]
--> 260 if is_iter(o): return list(o)
261 return [o]
262
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in call(self, *args, **kwargs)
224 if isinstance(v,_Arg): kwargs[k] = args.pop(v.i)
225 fargs = [args[x.i] if isinstance(x, _Arg) else x for x in self.pargs] + args[self.maxi+1:]
--> 226 return self.fn(*fargs, **kwargs)
227
228 # Cell
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in _call_one(self, event_name)
135 def _call_one(self, event_name):
136 assert hasattr(event, event_name), event_name
--> 137 [cb(event_name) for cb in sort_by_run(self.cbs)]
138
139 def _bn_bias_state(self, with_bias): return norm_bias_params(self.model, with_bias).map(self.opt.state)
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/learner.py in (.0)
135 def _call_one(self, event_name):
136 assert hasattr(event, event_name), event_name
--> 137 [cb(event_name) for cb in sort_by_run(self.cbs)]
138
139 def _bn_bias_state(self, with_bias): return norm_bias_params(self.model, with_bias).map(self.opt.state)
/anaconda3/envs/test/lib/python3.6/site-packages/fastai2/callback/core.py in call(self, event_name)
42 (self.run_valid and not getattr(self, 'training', False)))
43 res = None
---> 44 if self.run and _run: res = getattr(self, event_name, noop)()
45 if event_name=='after_fit': self.run=True #Reset self.run to True at each end of fit
46 return res
/anaconda3/envs/test/lib/python3.6/site-packages/blurr/modeling/summarization.py in after_validate(self)
89 # are there rouge metrics to calculate?
90 if (self.rouge_metrics is not None and len(self.rouge_metrics) > 0):
---> 91 gen_texts = self.hf_tokenizer.batch_decode(self.generated_ids,
92 skip_special_tokens=True,
93 clean_up_tokenization_spaces=True)
/anaconda3/envs/test/lib/python3.6/site-packages/fastcore/foundation.py in getattr(self, k)
238 if self._component_attr_filter(k):
239 attr = getattr(self,self._default,None)
--> 240 if attr is not None: return getattr(attr,k)
241 raise AttributeError(k)
242 def dir(self): return custom_dir(self,self._dir())
AttributeError: 'Learner' object has no attribute 'hf_tokenizer'`