У меня есть набор данных для самостоятельного вождения автомобиля. Мои X
значения являются названиями изображений. Примером будет
array([['img_2.png'],
['img_3.png'],
['img_4.png'],
...,
['img_6405.png'],
['img_6406.png'],
['img_6407.png']], dtype=object)
Я узнал, что модель работает хорошо, если у нас есть batch_generator
. Я нашел этот код шаблона.
def batch_generator(image_paths, steering_ang, batch_size, istraining):
while True:
batch_img = []
batch_steering = []
for i in range(batch_size):
random_index = random.randint(0, len(image_paths) - 1)
if istraining:
im = random_augment(image_paths[random_index])
steering = steering_ang[random_index]
else:
im = mpimg.imread(image_paths[random_index])
steering = steering_ang[random_index]
im = img_preprocess(im)
batch_img.append(im)
batch_steering.append(steering)
yield (np.asarray(batch_img), np.asarray(batch_steering))
Я изменил эту функцию для моего использования, но когда я применил ее.
x_train_gen, y_train_gen = next(batch_generator(X_train, y_train, 1, 1))
x_valid_gen, y_valid_gen = next(batch_generator(X_valid, y_valid, 1, 0))
Я получаю следующую ошибку TypeError: Object does not appear to be a 8-bit string path or a Python file-like object
. Я понимаю ошибку, изображение не массив, а строка. Как я могу преобразовать строку пути изображения в массив