Obviously ItemList has lots of additional functionality. But is it basically representing the same thing as a Dataset? Why doesn’t it just inherit from Dataset?
It’s not a Dataset since it only has the inputs or the targets. The basic idea of the data block API is that you can mix any kind of inputs in an
ItemList with any kind of targets in another
A dataset is just an abstract class with getitem and len. Doesn’t that already return any kind of inputs mixed with any kind of targets? And once you call .label doesn’t the itemlist then include both inputs and targets?