Is it possible to use ImageClassifierData without defining any transforms? For example, if I just want to quick and dirty play around with the functions, can I leave tfms=(None, None) as the default parameter to ImageClassifierData? If I try to do that I get an attribute error AttributeError: 'NoneType' object has no attribute 'sz'
Is there a reason why data augmentation seems to be required? Is there a way to not augment your data?
What does the sz parameter do? It seems to only be relevant to transforms. I tried putting in arbitrary numbers for sz and everything still works, although I get slightly worse accuracy. What does sz represent?
Harry, you need to get the data “ready” for training so it needs some basic transforms. If you use this you don’t get data augmentation. sz x sz x 3 is the size of the images that you will be training on.
tfms = tfms_from_model(f_model, sz)
Here is an example on why you need basic transformations. You may have images of different sizes but you need training batches to a consistent size. In order to get that your images need to have all the same size. In this library they all get transform into a square. The library has different ways of doing that.
what if my data is already of the same size, all images are rectangular and can’t be cropped w/o losing the information (this is a multi label classification problem).
the images are 70X140 where the object are spread pretty much from one side to the other (it’s an OCR type problem) - so a square crop would def cut the labeled pixels and invalidate the labels. Is there a particular reason for input to be square?