Hi,
I was trying to use the multilabel_margin_loss in dog breed dataset like this.
learn = ConvLearner.pretrained(arch, data, precompute=True)
learn.crit = F.multilabel_margin_loss
When I runlearn.fit
I get this error.
HBox(children=(IntProgress(value=0, description='Epoch', max=8), HTML(value='')))
0%| | 0/325 [00:00<?, ?it/s]
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-90-b3e0567589f3> in <module>()
----> 1 learn.fit(0.02, 8)
/usr/local/lib/python3.6/dist-packages/fastai/learner.py in fit(self, lrs, n_cycle, wds, **kwargs)
285 self.sched = None
286 layer_opt = self.get_layer_opt(lrs, wds)
--> 287 return self.fit_gen(self.model, self.data, layer_opt, n_cycle, **kwargs)
288
289 def warm_up(self, lr, wds=None):
/usr/local/lib/python3.6/dist-packages/fastai/learner.py in fit_gen(self, model, data, layer_opt, n_cycle, cycle_len, cycle_mult, cycle_save_name, best_save_name, use_clr, use_clr_beta, metrics, callbacks, use_wd_sched, norm_wds, wds_sched_mult, use_swa, swa_start, swa_eval_freq, **kwargs)
232 metrics=metrics, callbacks=callbacks, reg_fn=self.reg_fn, clip=self.clip, fp16=self.fp16,
233 swa_model=self.swa_model if use_swa else None, swa_start=swa_start,
--> 234 swa_eval_freq=swa_eval_freq, **kwargs)
235
236 def get_layer_groups(self): return self.models.get_layer_groups()
/usr/local/lib/python3.6/dist-packages/fastai/model.py in fit(model, data, n_epochs, opt, crit, metrics, callbacks, stepper, swa_model, swa_start, swa_eval_freq, **kwargs)
127 batch_num += 1
128 for cb in callbacks: cb.on_batch_begin()
--> 129 loss = model_stepper.step(V(x),V(y), epoch)
130 avg_loss = avg_loss * avg_mom + loss * (1-avg_mom)
131 debias_loss = avg_loss / (1 - avg_mom**batch_num)
/usr/local/lib/python3.6/dist-packages/fastai/model.py in step(self, xs, y, epoch)
50 if self.fp16: self.m.zero_grad()
51 else: self.opt.zero_grad()
---> 52 loss = raw_loss = self.crit(output, y)
53 if self.loss_scale != 1: assert(self.fp16); loss = loss*self.loss_scale
54 if self.reg_fn: loss = self.reg_fn(output, xtra, raw_loss)
RuntimeError: invalid argument 3: inconsistent target size at /pytorch/torch/lib/THCUNN/generic/MultiLabelMarginCriterion.cu:45
Could you tell me what I should do?