kuzand:

Is it still necessary to inherit from Dataset after having implemented my own __getitem__ and __len__ , to be able to create a dataloader later on? What advantage is there from subclassing it?


Will it work without subclassing Dataset? Probably in most cases.
Do you get anything from skipping subclassing Dataset? Probably not.
Will it bite you when third party code tests isinstance(ds, Dataset) to see if it got a dataset or if someone use type hinting with your code? Yes.
Best regards
Thomas