class CIFAR10Sequence(Sequence):
def __init__(self, x_set, y_set, batch_size):
self.x, self.y = x_set, y_set
self.epoch = 0
self.batch = 0
self.batch_size = batch_size
self.per = 4
def __len__(self):
return int(np.ceil(len(self.x) / float(self.batch_size)))
def __getitem__(self, idx):
batch_x = self.x[int(np.ceil(self.x.shape[0]*(self.per/100)))]
batch_y = self.y[int(np.ceil(self.x.shape[0]*(self.per/100)))]
return np.array(batch_x), np.array(batch_y)
return (batch_x, batch_y)
def on_batch_end(self):
if self.epoch % 100 == 0:
self.per = self.per*1.9
self.epoch += 1
train_datagen = CIFAR10Sequence(new_x_sort, new_x_sort, 100)
test_datagen = CIFAR10Sequence(cifar100_dataset.x_test,
cifar100_dataset.x_test, 100)
model.fit_generator(generator=train_datagen, steps_per_epoch=len(new_x_sort)//100, epochs=20)
но я получаю:
TypeError: 'CIFAR10Sequence' object is not an iterator