Преобразовать изображение в массив numpy (классификация изображений) - PullRequest
0 голосов
/ 21 апреля 2020

Я слежу за этим уроком: Как загрузить данные обучения и тестирования с локального накопителя для модели глубокого обучения Keras? и все получилось так name 'train_data' is not defined Я знаю, что не определил train_data пока нет, но я не знаю, что писать внутри train_data = ...

Мой код выглядит так

train_path = '/Users/nayageovani/Documents/Artificial Intelligence/dataset/train'
train_batch = os.listdir(train_path)
x_train = []

# if data are in form of images
for sample in train_data:
    img_path = train_path+sample
    x = image.load_img(img_path)
    # preprocessing if required
    x_train.append(x)
test_path = PATH+'/data/test/'
test_batch = os.listdir(test_path)
x_test = []

вот моя папка набора данных выглядит как

|--dataset
  |--test
     |--fresh
     |--rotten
  |--train
     |--fresh
     |--rotten

1 Ответ

0 голосов
/ 21 апреля 2020

train_datatest_data) должны быть итерациями, которые содержат имена файлов ваших тренировочных или тестовых данных, соответственно.

Вы можете, например, создать список файлов в тренировочных данных каталог вроде:

import os
...

imgTypes = ['jpg', 'png', 'gif', 'bmp']
train_data = [item for item in os.listdir(train_path) if \
        (os.path.isfile(os.path.join(train_path, item)) and
            os.path.splitext(item)[1].lower() in imgTypes)]

Обновление:

Лучшей альтернативой для загрузки данных изображения является использование keras 'ImageDataGenerator class . Помимо прочего, он позволяет напрямую обрабатывать данные во время загрузки.

...