Обнаружение объекта в turicreate (turicreate-5.0b2) возвращает пустой массив предсказаний
Привет! Я использую функцию обнаружения объектов с TuriCreate, используя 2 идентификатора класса с 60 изображениями, и я тренирую данные успешно, как в инструкциях, но я получаю пустые прогнозы при прогнозировании на тестовых данных. Установил turicreate-5.0b2 на моей Mac OS Mojave 10.14 Beta и XCode версии 10.0 Beta 3. Вот код, который я использую:
import turicreate as tc
images = tc.load_images('data/images')
annotations = tc.SFrame('data/imagesannotations.csv')
data = images.join(annotations)
train_data, test_data = data.random_split(0.8)
model = tc.object_detector.create(train_data, max_iterations=10)
predictions = model.predict(test_data)
Я получаю пустой вывод прогноза:
Predicting 1/11
Predicting 11/11
>>> predictions
dtype: list
Rows: 11
[[], [], [], [], [], [], [], [], [], [], []]
Пожалуйста, помогите, почему я получаю пустой прогноз. Я разделил набор данных изображений со скоростью 0,8 для тренировки и тестирования, и все они похожи друг на друга.
1 ответ
Это может показаться маловероятным, но я также получил пустые прогнозы при использовании Python 2.7, установленного через Homebrew, и экспорт модели в любом случае вызвал сбой. Здесь была похожая проблема: https://github.com/apple/turicreate/issues/80.
Я удалил Python и заново установил 2.7.13 с помощью установщика на https://www.python.org/downloads/mac-osx/ и получил прогнозы. Я понял, что это спустя месяцы, так что, надеюсь, вы уже решили свою проблему.
Возможно, что 10 итераций для этого набора данных недостаточно, чтобы получить модель, которая может с уверенностью предсказать что-либо. В результате все возможные прогнозы имеют слишком низкую достоверность, чтобы соответствовать порогу IOU, и, следовательно, возвращаемое значение - пустые списки.