DataGenerator (Sequence) - как проверить batch_x и batch_y.shape? - PullRequest
0 голосов
/ 05 августа 2020

Я создал это DataGenerator:

class DataGenerator(Sequence):

    def __init__(self, x_set, y_set, batch_size):
        self.x, self.y = x_set, y_set
        self.batch_size = batch_size

    def __len__(self):
        return math.ceil(len(self.x) / self.batch_size)

    def __getitem__(self, idx):
        batch_x = self.x[idx*self.batch_size : (idx + 1)*self.batch_size]
        batch_x = np.array([resize(imread(file_name), (224, 224)) for file_name in batch_x])
        batch_x = batch_x * 1./255
        batch_y = self.y[idx*self.batch_size : (idx + 1)*self.batch_size]
        batch_y = np.array(batch_y)

        return batch_x, batch_y

Я хотел бы сейчас проверить shape и type из batch_x и batch_y. Как я мог это сделать?

1 Ответ

1 голос
/ 05 августа 2020

Просто добавьте две строки print в свою функцию __getitem__, таким образом каждый раз, когда ваш генератор будет вызываться, вы будете видеть желаемую информацию:

print('batch_x : shape = %s, type = %s' % (batch_x.shape, batch_x.dtype) ) # If np.array
print('batch_y : shape = %s, type = %s' % (batch_y.shape, batch_y.dtype) )
...