I am seeing:
Traceback (most recent call last):
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/deploy/touch_server.py", line 446, in process_batch
grade_card(
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/deploy/touch_server.py", line 235, in grade_card
raise e
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/deploy/touch_server.py", line 177, in grade_card
grade_side(final, request_outcome_messages, inner_card_seg_model, outer_card_seg_model,
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/deploy/touch_server.py", line 286, in grade_side
final[side] = inference_centering(
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/card/centering.py", line 101, in inference_centering
get_inner_card_segmentation(model=inner_card_seg_model, img=img, outer_poly=outer_poly)
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/card/inner_border_seg.py", line 86, in get_inner_card_segmentation
prompt_points, mask = model.predict_inner_card_seg(image=img)
File "/Users/free-soellingeraj/code/shoebox-ml/shoebox_ml/grading/card/inner_border_seg.py", line 66, in predict_inner_card_seg
ex_pred = self.predictor.predict(image) # downscaling is built into .predict
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/learner.py", line 321, in predict
inp,preds,_,dec_preds = self.get_preds(dl=dl, with_input=True, with_decoded=True)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/learner.py", line 308, in get_preds
self._do_epoch_validate(dl=dl)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/learner.py", line 244, in _do_epoch_validate
with torch.no_grad(): self._with_events(self.all_batches, 'validate', CancelValidException)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/learner.py", line 199, in _with_events
try: self(f'before_{event_type}'); f()
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/learner.py", line 205, in all_batches
for o in enumerate(self.dl): self.one_batch(*o)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/load.py", line 127, in __iter__
for b in _loaders[self.fake_l.num_workers==0](self.fake_l):
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 530, in __next__
data = self._next_data()
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 570, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 39, in fetch
data = next(self.dataset_iter)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/load.py", line 138, in create_batches
yield from map(self.do_batch, self.chunkify(res))
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 230, in chunked
res = list(itertools.islice(it, chunk_sz))
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/load.py", line 153, in do_item
try: return self.after_item(self.create_item(s))
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/load.py", line 160, in create_item
if self.indexed: return self.dataset[s or 0]
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/core.py", line 458, in __getitem__
res = tuple([tl[it] for tl in self.tls])
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/core.py", line 458, in <listcomp>
res = tuple([tl[it] for tl in self.tls])
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/core.py", line 417, in __getitem__
return self._after_item(res) if is_indexer(idx) else res.map(self._after_item)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastai/data/core.py", line 377, in _after_item
def _after_item(self, o): return self.tfms(o)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/transform.py", line 208, in __call__
def __call__(self, o): return compose_tfms(o, tfms=self.fs, split_idx=self.split_idx)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/transform.py", line 158, in compose_tfms
x = f(x, **kwargs)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/transform.py", line 81, in __call__
def __call__(self, x, **kwargs): return self._call('encodes', x, **kwargs)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/transform.py", line 91, in _call
return self._do_call(getattr(self, fn), x, **kwargs)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/transform.py", line 96, in _do_call
ret = f.returns(x) if hasattr(f,'returns') else None
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/dispatch.py", line 104, in returns
return anno_ret(self[type(x)])
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 333, in anno_ret
return annotations(func).get('return', None) if func else None
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 325, in annotations
res = type_hints(o)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 318, in type_hints
return {k:_eval_type(v,glb,loc) for k,v in ann.items()}
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 318, in <dictcomp>
return {k:_eval_type(v,glb,loc) for k,v in ann.items()}
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 311, in _eval_type
res = eval_type(t, glb, loc)
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 304, in eval_type
if '|' in t: return Union[eval_type(tuple(t.split('|')), glb, loc)]
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 306, in eval_type
if isinstance(t,(tuple,list)): return type(t)([eval_type(c, glb, loc) for c in t])
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 306, in <listcomp>
if isinstance(t,(tuple,list)): return type(t)([eval_type(c, glb, loc) for c in t])
File "/Users/free-soellingeraj/miniconda3/lib/python3.8/site-packages/fastcore/basics.py", line 305, in eval_type
return eval(t, glb, loc)
File "<string>", line 1, in <module>
NameError: name 'Path' is not defined
First of all, I see the line from .imports import *
in fastcore/basics.py
. Second, I don’t even see why the Path comes into play here since I am passing an image into the predict function on the learner.
thanks