Я делаю функцию в Python, чтобы сгенерировать пакет изображений и вернуть его основной функции в двух переменных, но это приводит к этой ошибке "слишком много значений, чтобы распаковать ожидаемые 2"
попытался использовать return вместо этого, но получил ту же ошибку, и при возврате только одной переменной это работает хорошо.
это функция генератора:
def batch_generator(data_dir, image_paths, steering_angles, batch_size, is_training):
images = np.empty([batch_size, IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_CHANNELS])
steers = np.empty(batch_size)
while True:
i = 0
for index in np.random.permutation(image_paths.shape[0]):
center, left, right = image_paths[index]
steering_angle = steering_angles[index]
# argumentation
if is_training and np.random.rand() < 0.6:
image, steering_angle = augument(data_dir, center, left, right, steering_angle)
else:
image = load_image(data_dir, center)
# add the image and steering angle to the batch
images[i] = preprocess(image)
steers[i] = steering_angle
i += 1
if i == batch_size:
break
print(images[0])
yield images, steers
и это строка, котораяназывает это
images, steer = batch_generator(data_dir, X_train, y_train, 5, True)
Я хочу вернуть как рулевые, так и изображения, а также не могу использовать return, поскольку он выйдет из цикла