ValueError: ожидайте, что x будет непустым массивом или набором данных (создатель модели Tensor Flow lite на Collab) - PullRequest
0 голосов
/ 03 августа 2020

Я следую этому руководству по созданию пользовательской модели с помощью TensorFlow lite Model Maker в Collab.

import pathlib
path = pathlib.Path('/content/employee_pics') 
count = len(list(path.glob('*/*.jpg')))
count

data = ImageClassifierDataLoader.from_folder(path)
train_data, test_data = data.split(0.5)

У меня проблема с шагом 2:

model = image_classifier.create(train_data)

Я получаю сообщение об ошибке: ValueError: Ожидается, что x будет непустым массивом или набором данных.

введите описание изображения здесь

Я что-то не так делаю? Однако набор данных, представленный в примере, работает нормально. Почему?

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

Эта ошибка вызвана тем, что размер обучающих данных меньше batch_size, что недопустимо.

По умолчанию batch_size равен 32, что означает, что количество обучающих изображений должно быть не менее 32. Нет необходимости подсчитывать количество изображений на этикетке, просто необходимо убедиться, что общее количество обучающих изображений должно быть не менее 32.

Для решения этой проблемы вам нужно выбрать одно из следующих решений.

  • Установить batch_size меньше, чем размер обучающих данных, например:
image_classifier.create(train_data, batch_size=4)
  • Увеличьте размер обучающих данных, добавив больше данных.
1 голос
/ 04 августа 2020

Я только что сделал несколько ручных тестов. Не знаю точно, почему, но для этого двоичного классификатора, когда я увеличиваю объем данных, чтобы убедиться, что для обучения используются как минимум 16 изображений на метку, он начинает работать.

В вашем случае, потому что вы разделите поезд / тест на коэффициент 0,5, вам нужно 32 изображения на этикетку. Не могли бы вы попробовать, если это решит вашу проблему?

...