As far as I can see, ImageDataLoaders.from_name_func requires a “path” parameter, while also requiring a list of the actual image paths. This sounds like a redundancy to me, and indeed passing any string as the path makes the basic pet classification example from the first fastbook notebook still work the same.
Also, while trying to trace its usage in the call hierarchy, I’ve noticed a “path” attribute is actually needed by the basic DataLoaders class. I think this hurts generalizeability - not all dataloaders load from the filesystem at all (e.g. a dataloader may load from a database instead).
To my understanding, there’s a clash here between the library’s goal of easily fitting the common usecases, and it’s goal as being broad and layered (why should a component merely wrapping DataLoaders be concerned with the filesystem?)
Should ‘path’ be removed as a parameter from DataLoaders.init and ImageDataLoaders.from_name_func?