Что делает idx * self.batch_size? ⇐ Python
-
Anonymous
Что делает idx * self.batch_size?
Я новичок в машинном обучении, наткнулся на страницу последовательности Keras и пытался понять этот блок кода:
из Skimage.io import imread из Skimage.transform импортировать изменение размера импортировать numpy как np импорт математики # Здесь `x_set` — список путей к изображениям # и `y_set` — связанные классы. класс CIFAR10Sequence(tf.keras.utils.Sequence): def __init__(self, x_set, y_set, package_size): self.x, self.y = x_set, y_set self.batch_size = размер_пакета защита __len__(сам): return math.ceil(len(self.x)/self.batch_size) def __getitem__(self, idx): низкий = idx * self.batch_size # Ограничить верхнюю границу длиной массива; последняя партия может быть меньше # если общее количество элементов не кратно размеру партии. высокий = мин (низкий + self.batch_size, len (self.x)) пакет_x = self.x[низкий:высокий] пакет_y = self.y[низкий:высокий] вернуть np.array([ изменить размер (imread (имя_файла), (200, 200)) для имя_файла в пакете_x]), np.array(batch_y) Я застрял на __getitem__ и понятия не имею, как работают low и high. Может ли кто-нибудь помочь мне объяснить, что происходит в >__getitem__? Почему low = idx * self.batch_size? Почему high = min(low + self.batch_size, len(self.x))?
Я новичок в машинном обучении, наткнулся на страницу последовательности Keras и пытался понять этот блок кода:
из Skimage.io import imread из Skimage.transform импортировать изменение размера импортировать numpy как np импорт математики # Здесь `x_set` — список путей к изображениям # и `y_set` — связанные классы. класс CIFAR10Sequence(tf.keras.utils.Sequence): def __init__(self, x_set, y_set, package_size): self.x, self.y = x_set, y_set self.batch_size = размер_пакета защита __len__(сам): return math.ceil(len(self.x)/self.batch_size) def __getitem__(self, idx): низкий = idx * self.batch_size # Ограничить верхнюю границу длиной массива; последняя партия может быть меньше # если общее количество элементов не кратно размеру партии. высокий = мин (низкий + self.batch_size, len (self.x)) пакет_x = self.x[низкий:высокий] пакет_y = self.y[низкий:высокий] вернуть np.array([ изменить размер (imread (имя_файла), (200, 200)) для имя_файла в пакете_x]), np.array(batch_y) Я застрял на __getitem__ и понятия не имею, как работают low и high. Может ли кто-нибудь помочь мне объяснить, что происходит в >__getitem__? Почему low = idx * self.batch_size? Почему high = min(low + self.batch_size, len(self.x))?
Мобильная версия