Here is the code I ran in my jupyter notebook:
learn = collab_learner(data, n_factors=50, y_range=(-3.,3.), metrics=[accuracy])
learn.fit_one_cycle(1, 5e-6, wd=0.1)
RuntimeError Traceback (most recent call last)
in ()
1 learn = collab_learner(data, n_factors=50, y_range=(-3.,3.), metrics=[accuracy])
----> 2 learn.fit_one_cycle(1, 5e-6, wd=0.1)
/home/daniel/.local/lib/python3.6/site-packages/fastai/train.py in fit_one_cycle(learn, cyc_len, max_lr, moms, div_factor, pct_start, final_div, wd, callbacks, tot_epochs, start_epoch)
20 callbacks.append(OneCycleScheduler(learn, max_lr, moms=moms, div_factor=div_factor, pct_start=pct_start,
21 final_div=final_div, tot_epochs=tot_epochs, start_epoch=start_epoch))
—> 22 learn.fit(cyc_len, max_lr, wd=wd, callbacks=callbacks)
23
24 def lr_find(learn:Learner, start_lr:Floats=1e-7, end_lr:Floats=10, num_it:int=100, stop_div:bool=True, wd:float=None):
/home/daniel/.local/lib/python3.6/site-packages/fastai/basic_train.py in fit(self, epochs, lr, wd, callbacks)
194 callbacks = [cb(self) for cb in self.callback_fns] + listify(callbacks)
195 if defaults.extra_callbacks is not None: callbacks += defaults.extra_callbacks
–> 196 fit(epochs, self, metrics=self.metrics, callbacks=self.callbacks+callbacks)
197
198 def create_opt(self, lr:Floats, wd:Floats=0.)->None:
/home/daniel/.local/lib/python3.6/site-packages/fastai/basic_train.py in fit(epochs, learn, callbacks, metrics)
103 if not learn.data.empty_val:
104 val_loss = validate(learn.model, learn.data.valid_dl, loss_func=learn.loss_func,
–> 105 cb_handler=cb_handler, pbar=pbar)
106 else: val_loss=None
107 if cb_handler.on_epoch_end(val_loss): break
/home/daniel/.local/lib/python3.6/site-packages/fastai/basic_train.py in validate(model, dl, loss_func, cb_handler, pbar, average, n_batch)
60 if not is_listy(yb): yb = [yb]
61 nums.append(yb[0].shape[0])
—> 62 if cb_handler and cb_handler.on_batch_end(val_losses[-1]): break
63 if n_batch and (len(nums)>=n_batch): break
64 nums = np.array(nums, dtype=np.float32)
/home/daniel/.local/lib/python3.6/site-packages/fastai/callback.py in on_batch_end(self, loss)
305 “Handle end of processing one batch with loss
.”
306 self.state_dict[‘last_loss’] = loss
–> 307 self(‘batch_end’, call_mets = not self.state_dict[‘train’])
308 if self.state_dict[‘train’]:
309 self.state_dict[‘iteration’] += 1
/home/daniel/.local/lib/python3.6/site-packages/fastai/callback.py in call(self, cb_name, call_mets, **kwargs)
247 “Call through to all of the CallbakHandler
functions.”
248 if call_mets:
–> 249 for met in self.metrics: self._call_and_update(met, cb_name, **kwargs)
250 for cb in self.callbacks: self._call_and_update(cb, cb_name, **kwargs)
251
/home/daniel/.local/lib/python3.6/site-packages/fastai/callback.py in _call_and_update(self, cb, cb_name, **kwargs)
238 def call_and_update(self, cb, cb_name, **kwargs)->None:
239 “Call cb_name
on cb
and update the inner state.”
–> 240 new = ifnone(getattr(cb, f’on{cb_name}’)(**self.state_dict, **kwargs), dict())
241 for k,v in new.items():
242 if k not in self.state_dict:
/home/daniel/.local/lib/python3.6/site-packages/fastai/callback.py in on_batch_end(self, last_output, last_target, **kwargs)
338 if not is_listy(last_target): last_target=[last_target]
339 self.count += last_target[0].size(0)
–> 340 val = self.func(last_output, *last_target)
341 if self.world:
342 val = val.clone()
/home/daniel/.local/lib/python3.6/site-packages/fastai/metrics.py in accuracy(input, targs)
25 “Compute accuracy with targs
when input
is bs * n_classes.”
26 n = targs.shape[0]
—> 27 input = input.argmax(dim=-1).view(n,-1)
28 targs = targs.view(n,-1)
29 return (input==targs).float().mean()
RuntimeError: shape ‘[64, -1]’ is invalid for input of size 1