Ошибка утверждения: Не удалось вывести функцию потери из данных, пожалуйста, передайте функцию потери

#pytorch #fast-ai

Вопрос:

 learn = text_classifier_learner(dbunch_clas, AWD_LSTM, drop_mult=0.5, metrics=accuracy).to_fp16()  

Раньше это работало нормально. Не смог вычислить ошибку утверждения.

 AssertionError Traceback (most recent call last) /tmp/ipykernel_28659/1283916166.py in lt;modulegt;  1 logger.info("init text_classifier_learner ") ----gt; 2 learn = text_classifier_learner(dbunch_clas, AWD_LSTM, drop_mult=0.5, metrics=accuracy).to_fp16()  ~/anaconda3/envs/pytorch_p37/lib/python3.7/site-packages/fastai/text/learner.py in text_classifier_learner(dls, arch, seq_len, config, backwards, pretrained, drop_mult, n_out, lin_ftrs, ps, max_len, y_range, **kwargs)  221 drop_mult=drop_mult, lin_ftrs=lin_ftrs, ps=ps, max_len=max_len)  222 meta = _model_meta[arch] --gt; 223 learn = TextLearner(dls, model, splitter=meta['split_clas'], **kwargs)  224 url = 'url_bwd' if backwards else 'url'  225 if pretrained:  ~/anaconda3/envs/pytorch_p37/lib/python3.7/site-packages/fastai/text/learner.py in __init__(self, dls, model, alpha, beta, moms, **kwargs)  86 "Basic class for a `Learner` in NLP."  87 def __init__(self, dls, model, alpha=2., beta=1., moms=(0.8,0.7,0.8), **kwargs): ---gt; 88 super().__init__(dls, model, moms=moms, **kwargs)  89 self.add_cbs(rnn_cbs())  90   ~/anaconda3/envs/pytorch_p37/lib/python3.7/site-packages/fastai/learner.py in __init__(self, dls, model, loss_func, opt_func, lr, splitter, cbs, metrics, path, model_dir, wd, wd_bn_bias, train_bn, moms)  89 if loss_func is None:  90 loss_func = getattr(dls.train_ds, 'loss_func', None) ---gt; 91 assert loss_func is not None, "Could not infer loss function from the data, please pass a loss function."  92 self.dls,self.model = dls,model  93 store_attr(but='dls,model,cbs')  AssertionError: Could not infer loss function from the data, please pass a loss function.  

Комментарии:

1. dbunch_clas вызывает проблемы. Пожалуйста, предоставьте пример кода, который указывает, что это именно такое. И если это объект, основанный на пользовательском классе, также предоставьте код для этого класса