微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取 TypeError: forward() 缺少 1 个必需的位置参数:Learner().predict of fast ai 上的“x”

如何解决获取 TypeError: forward() 缺少 1 个必需的位置参数:Learner().predict of fast ai 上的“x”

txts 是一个字符串列表 log_preds = learn.predict(tuple(txts)) 以下是我得到的错误

<ipython-input-21-7b8f82be2aba> in <module>
----> 1 log_preds = learn.predict(tuple(txts))

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in predict(self,item,rm_type_tfms,with_input)
    255     def predict(self,rm_type_tfms=None,with_input=False):
    256         dl = self.dls.test_dl([item],rm_type_tfms=rm_type_tfms,num_workers=0)
--> 257         inp,preds,_,dec_preds = self.get_preds(dl=dl,with_input=True,with_decoded=True)
    258         i = getattr(self.dls,'n_inp',-1)
    259         inp = (inp,) if i==1 else tuplify(inp)

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in get_preds(self,ds_idx,dl,with_input,with_decoded,with_loss,act,inner,reorder,cbs,**kwargs)
    242         if with_loss: ctx_mgrs.append(self.loss_not_reduced())
    243         with ContextManagers(ctx_mgrs):
--> 244             self._do_epoch_validate(dl=dl)
    245             if act is None: act = getattr(self.loss_func,'activation',noop)
    246             res = cb.all_tensors()

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in _do_epoch_validate(self,dl)
    192         if dl is None: dl = self.dls[ds_idx]
    193         self.dl = dl
--> 194         with torch.no_grad(): self._with_events(self.all_batches,'validate',CancelValidException)
    195 
    196     def _do_epoch(self):

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in _with_events(self,f,event_type,ex,final)
    158 
    159     def _with_events(self,final=noop):
--> 160         try: self(f'before_{event_type}');  f()
    161         except ex: self(f'after_cancel_{event_type}')
    162         self(f'after_{event_type}');  final()

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in all_batches(self)
    164     def all_batches(self):
    165         self.n_iter = len(self.dl)
--> 166         for o in enumerate(self.dl): self.one_batch(*o)
    167 
    168     def _do_one_batch(self):

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in one_batch(self,i,b)
    183         b_on_device = tuple( e.to(device=self.dls.device) for e in b if hasattr(e,"to")) if self.dls.device is not None else b
    184         self._split(b_on_device)
--> 185         self._with_events(self._do_one_batch,'batch',CancelBatchException)
    186 
    187     def _do_epoch_train(self):

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in _with_events(self,final=noop):
--> 160         try: self(f'before_{event_type}');  f()
    161         except ex: self(f'after_cancel_{event_type}')
    162         self(f'after_{event_type}');  final()

/opt/conda/lib/python3.7/site-packages/fastai/learner.py in _do_one_batch(self)
    167 
    168     def _do_one_batch(self):
--> 169         self.pred = self.model(*self.xb)
    170         self('after_pred')
    171         if len(self.yb):

/opt/conda/lib/python3.7/site-packages/torch/nn/modules/module.py in _call_impl(self,*input,**kwargs)
    725             result = self._slow_forward(*input,**kwargs)
    726         else:
--> 727             result = self.forward(*input,**kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),TypeError: forward() missing 1 required positional argument: 'x'```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。