You just forgot to return the target tensor, as you are currently using return data.
Return the target as return data, target or just assign
data = next(iter(dataloader)).
Note, that you are currently returning overlapping “windows” in your approach and you should take care of indexing out of bounds (by using idx+100).
You could fix this by subtracting 100 from the overall length returned in def __len__(self).