Как читать данные изображения из разных папок?

У меня есть 4 папки: Кошка, Собака, Тигр и Кенгуру, в каждой по 100 изображений, сохраненных в соответствующих папках.

Когда я использую библиотеку chainer для импорта набора данных mnist, я получаю набор изображений и соответствующие им метки. Я хочу прочитать и привести свой набор данных в том же формате.

Код чейнера выглядит так:

train, test = chainer.datasets.get_mnist()
train_data, train_targets = np.array(train).transpose()
test_data, test_targets = np.array(test).transpose()
train_data = np.array(list(train_data)).reshape(train_data.shape[0],1,28,28)
test_data = np.array(list(test_data)).reshape(test_data.shape[0],1,28,28)

Я пробовал следующий код, но он не приводит код в том же формате.

img_dict=dict()

for root, dirs, files in os.walk(path):
    print(os.path.basename(root))
    my_key = os.path.basename(root)

    dir_images = []
    for file_ in files:
        full_file_path = os.path.join(root, file_)
        img = cv2.imread(full_file_path)
        img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
        dir_images.append(img)

    img_dict[my_key] = dir_images

Как правильно прочитать эти изображения и привести их в тот же формат, что и упомянутый выше для MNIST из библиотеки цепочек?


person atp    schedule 04.11.2020    source источник