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
When running the examples in Chapter 1, I get the stack trace below when doing learn.fine_tune(1). specifically the error seems to be happening in the combine_scheds method.
Note: I'm running the code on a Databricks notebook, not on Jupyter, but for this particular error I don't think this should matter.
Stacktrace
<command-13768> in <module>
----> 1 learn.fine_tune(1)
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastcore/utils.py in _f(*args, **kwargs)
452 init_args.update(log)
453 setattr(inst, 'init_args', init_args)
--> 454 return inst if to_return else f(*args, **kwargs)
455 return _f
456
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/callback/schedule.py in fine_tune(self, epochs, base_lr, freeze_epochs, lr_mult, pct_start, div, **kwargs)
159 "Fine tune with `freeze` for `freeze_epochs` then with `unfreeze` from `epochs` using discriminative LR"
160 self.freeze()
--> 161 self.fit_one_cycle(freeze_epochs, slice(base_lr), pct_start=0.99, **kwargs)
162 base_lr /= 2
163 self.unfreeze()
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastcore/utils.py in _f(*args, **kwargs)
452 init_args.update(log)
453 setattr(inst, 'init_args', init_args)
--> 454 return inst if to_return else f(*args, **kwargs)
455 return _f
456
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastcore/utils.py in _f(*args, **kwargs)
452 init_args.update(log)
453 setattr(inst, 'init_args', init_args)
--> 454 return inst if to_return else f(*args, **kwargs)
455 return _f
456
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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()
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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')
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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()
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/learner.py in _do_epoch(self)
186
187 def _do_epoch(self):
--> 188 self._do_epoch_train()
189 self._do_epoch_validate()
190
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/learner.py in _do_epoch_train(self)
178 def _do_epoch_train(self):
179 self.dl = self.dls.train
--> 180 self._with_events(self.all_batches, 'train', CancelTrainException)
181
182 def _do_epoch_validate(self, ds_idx=1, dl=None):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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()
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/learner.py in all_batches(self)
159 def all_batches(self):
160 self.n_iter = len(self.dl)
--> 161 for o in enumerate(self.dl): self.one_batch(*o)
162
163 def _do_one_batch(self):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/learner.py in one_batch(self, i, b)
174 self.iter = i
175 self._split(b)
--> 176 self._with_events(self._do_one_batch, 'batch', CancelBatchException)
177
178 def _do_epoch_train(self):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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()
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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())
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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)
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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)
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/learner.py in <listcomp>(.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)
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/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
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/callback/schedule.py in before_batch(self)
84 def __init__(self, scheds): self.scheds = scheds
85 def before_fit(self): self.hps = {p:[] for p in self.scheds.keys()}
---> 86 def before_batch(self): self._update_val(self.pct_train)
87
88 def _update_val(self, pct):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/callback/schedule.py in _update_val(self, pct)
87
88 def _update_val(self, pct):
---> 89 for n,f in self.scheds.items(): self.opt.set_hyper(n, f(pct))
90
91 def after_batch(self):
/local_disk0/.ephemeral_nfs/envs/pythonEnv-7d3b02f4-8c94-4299-8acc-1909d16e2085/lib/python3.7/site-packages/fastai/callback/schedule.py in _inner(pos)
67 if pos == 1.: return scheds[-1](1.)
68 idx = (pos >= pcts).nonzero().max()
---> 69 actual_pos = (pos-pcts[idx]) / (pcts[idx+1]-pcts[idx])
70 return scheds[idx](actual_pos.item())
71 return _inner
IndexError: index 3 is out of bounds for dimension 0 with size 3```
The text was updated successfully, but these errors were encountered:
Hi,
When running the examples in Chapter 1, I get the stack trace below when doing learn.fine_tune(1). specifically the error seems to be happening in the
combine_scheds
method.Note: I'm running the code on a Databricks notebook, not on Jupyter, but for this particular error I don't think this should matter.
Stacktrace
The text was updated successfully, but these errors were encountered: