В настоящее время я загружаю свои данные с помощью одного класса набора данных. В наборе данных я раздельно разделяю данные поезда, тестирования и проверки. Например:
class Data():
def __init__(self):
self.load()
def load(self):
with open(file=file_name, mode='r') as f:
self.data = f.readlines()
self.train = self.data[:checkpoint]
self.valid = self.data[checkpoint:halfway]
self.test = self.data[halfway:]
Многие детали опущены для удобства чтения. По сути, я читаю один большой набор данных и делаю разбиения вручную.
Мой вопрос возникает из-за того, как переопределить метод __len__
, когда длина моего поезда, действительных и тестовых данных различается?
Причина, по которой я хочу это сделать, заключается в том, что я хочу сохранить разделенные данные в одном классе, и я также хочу создать отдельные загрузчики данных для каждого и что-то вроде:
def __len__(self):
return len(self.train)
не подходит для self.test
и self.valid
.
Возможно, я в корне неправильно понимаю Dataloader, но как мне подойти к этой проблеме? Заранее спасибо.