def __init__(self, X=None, y=None, **kwargs):
        super(SingleBlock, self).__init__(**kwargs)

        self.train = IterMatrix(X=None, y=None)
        self.valid = IterMatrix(X=None, y=None)
        self.test = IterMatrix(X=None, y=None)

        assert len(self.ratio) == 3, 'the size of list is not 3'

        if X is not None and y is not None:
            assert X.shape[0] == y.shape[0], 'the number of examples in input and target dont match'
            if self.preprocessor:
                self.log.info('..applying preprocessing: ' + self.preprocessor.__class__.__name__)
                X = self.preprocessor.apply(X)
            if self.noise:
                self.log.info('..applying noise: ' + self.noise.__class__.__name__)
                X = self.noise.apply(X)

            self.set_Xy(X, y)
All the data is loaded into memory for one go training
dataset/ETHPy150Open hycis/Pynet/pynet/datasets/dataset.py/SingleBlock.__init__