I’m trying to get everything to run locally in Windows 10 in Visual Studio Code and so I’m still working through the code in 01_intro.ipynb.
When I run learn.show_results(max_n=6, figsize=(7,8)) using the model generated for camvid_tiny (Deep Learning Is Not Just for Image Classification) Target/Prediction is displayed as expected. However, when I export the model and then load it with:
#export the model to pickle it for later use to avoid performing the process above every time
learn.export()
#run this to load the camvid_tiny model, model copied over and renamed
path = 'C:\HOME\.fastai\data\camvid_tiny\model\camvid_tiny_model.pkl'
learn = load_learner(path)
to spare myself from running from scratch, I get the following error:
ValueError Traceback (most recent call last)
<ipython-input-11-97dc52a4ec2e> in <module>
----> 1 learn.show_results(max_n=6, figsize=(7,8))
C:\Users\jbiss\AppData\Local\Programs\Python\Python36\lib\site-packages\fastai\learner.py in show_results(self, ds_idx, dl, max_n, shuffle, **kwargs)
260 def show_results(self, ds_idx=1, dl=None, max_n=9, shuffle=True, **kwargs):
261 if dl is None: dl = self.dls[ds_idx].new(shuffle=shuffle)
--> 262 b = dl.one_batch()
263 _,_,preds = self.get_preds(dl=[b], with_decoded=True)
264 self.dls.show_results(b, preds, max_n=max_n, **kwargs)
C:\Users\jbiss\AppData\Local\Programs\Python\Python36\lib\site-packages\fastai\data\load.py in one_batch(self)
134 def to(self, device): self.device = device
135 def one_batch(self):
--> 136 if self.n is not None and len(self)==0: raise ValueError(f'This DataLoader does not contain any batches')
137 with self.fake_l.no_multiproc(): res = first(self)
138 if hasattr(self, 'it'): delattr(self, 'it')
ValueError: This DataLoader does not contain any batches
What am I missing about generating models, exporting and then loading them that makes them act differently from them when run directly? I use the pickled model generated from the pet images without any such problems. Is this covered fully later in the course?