Как вызвать метод Keras flow_from_directory () в наборе тестовых данных? - PullRequest
0 голосов
/ 07 января 2020

В следующей статье есть инструкция о том, что набор данных необходимо разделить на папки обучающих, проверочных и тестовых папок, в которых папка с тестами не должна содержать помеченных подпапок. Вместо этого он должен содержать только одну папку (например, Test_folder).

Когда я использую следующий код, я получаю сообщение о том, что изображение не найдено.

Ver.1:
test_generator = test_datagen.flow_from_directory(
    "dataset\\test\\test_folder\\",
    target_size=(IMG_WIDTH, IMG_HEIGHT),
    batch_size=1,
    class_mode=None,
    shuffle=False,
    seed=10)

Output message: "Found 0 images belonging to 0 classes.".

Вместо этого, если Я использую ту же структуру папок (набор данных \ test \ class_a \ test_1.jpg et c), что и в папках train и validation, все в порядке, и мне удается оценить мою модель.

Ver.2:
test_generator = test_datagen.flow_from_directory(
    "dataset\\test\\",
    target_size=(IMG_WIDTH, IMG_HEIGHT),
    batch_size=32,
    class_mode='categorical',
    shuffle=False,
    seed=10)

Output message: "Found 1500 images belonging to 3 classes.".

Я также попробовал рекомендацию , где указан атрибут 'classes', но все еще найдено 0 изображений.

Ver.3:
test_generator = test_datagen.flow_from_directory(
    "dataset2\\test\\test_folder\\",
    target_size=(IMG_WIDTH, IMG_HEIGHT),
    batch_size=1,
    classes=['test'],
    class_mode=None,
    shuffle=False,
    seed=10)

Output message: Found 0 images belonging to 1 classes.

Таким образом, как правильно вызвать метод flow_from_directory () и почему я получаю сообщение о том, что файлы не найдены? Не правильно ли оценена моя модель при использовании решения Ver.2?

1 Ответ

0 голосов
/ 07 января 2020

Если None, метки не возвращаются (генератор будет выдавать только пакеты данных изображения, что полезно использовать с model.predict_generator ()). Обратите внимание, что в случае class_mode None, данные по-прежнему должны находиться в подкаталоге каталога, чтобы они работали правильно.

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

train/
    label1/
        ...
        ...
    label2/
        ...
        ...
val/
    label1/
        ...
        ...
    label2/
        ...
        ...
test/
    label1/
        ...
        ...
    label2/

. Чтение документации часто более полезно, чем те статьи, когда вы хотите узнать, как использовать фреймворк. Вот ссылка на flow_from_directory: https://keras.io/preprocessing/image/#flow_from_directory.


С другой стороны, m c .ai - это сайт, полный разорванных статей Medium, и его следует избегать , Многие статьи являются неполными + это нарушает авторские права авторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...