A post was merged into an existing topic: Lesson 3 - Non-beginner discussion
On the validation set, we center crop the image if it’s ratio isn’t in the range (to the minmum or maximum value) then resize. Link is:
Documentation of RandomResizedCrop
At each epoch you get a new transformation.
Are there pre-packaged transformations that are not affine? Things like lightness, hue, sharpness…
what’s the best rule of thumb with regards to how large a batch to feed at a time relative to gpu size?
Is there any significance to the size of the crop to be 224x224 ?
There is lightning and contrast transforms, randomly erasing a part of the image, perspective warping. Look at the docs on vision.augment for the whole list.
Either inherit new class from Transform or create new function with @Transform decorator.
Jeremy runs through these in source code walkthru videos.
If the data set in imbalanced, can I choose to augment only the under represented class? or choose a particular type of transformation that suits a class best.
Usually, whatever fits on your GPU is fine.
So the transformation is the same to each image per epoch? Just wanna make sure I understand.
How do you pick what augmentations to do? Do certain augmentations work better than others for a task? Does it make sense to schedule augmentations during training?
training will be faster and you can iterate on your model
Why 224 not say 480 , 720 which is close to capture sizes ?
No, it’s a random transformation for each image at each epoch.
This comes from trying different augmentations and checking validation accuracy. There is no definite way AFAIK to pick augmentations and be sure they’ll work. It usually is trial and error.
Too large, and memory consumption will be too high. Also, traditionally, 224x224 has been used in other deep learning models.
So the image_tfms are not gpu accelerated?
For all of these questions, the answer is “Try it!”. It’s certainly problem-dependent and there is no definitive answer.