NuPIC OPF Ошибка времени выполнения getOutputData неизвестный выходной категории Out
Я пытаюсь запустить модель TemporalClassification с использованием OPF для распознавания шаблонов из потока. Я настроил параметры модели так, чтобы он имел два входа датчика: ScalarEncoder и SDRCategoryEncoder. Последний помечен как классификатор Only. А также он установлен в качестве прогнозируемого поля в выводах.
При попытке кормить модель входными данными я получаю
RuntimeError: getOutputData unknown output 'categoriesOut' on region Classifier.
Модель NontemporalClassification (только измененный inferenceType) работает без такой ошибки.
Я нашел 6 вхождений категорий Out в коде нупика: https://github.com/numenta/nupic/search?utf8=%E2%9C%93&q=categoriesOut
И ошибка возникает в nupic/frameworks/opf/clamodel.py в строке 558
classificationDist = classifier.getOutputData('categoriesOut')
Кажется, что ClassifierRegion в сети не подготовлен должным образом для вывода данных.
Кто-нибудь может объяснить, почему в области классификаторов нет "categoryOut"? Я думаю, что в моих параметрах модели есть неправильная конфигурация, но не было ошибок или предупреждений во время инициализации модели. Существуют ли какие-либо обязательные параметры и назначения (кроме отмеченных в документации NUPIC), необходимые для запуска модели TemporalClassification?
1 ответ
В NuPIC есть несколько типов ClassifierRegions. Вы можете найти их в папке nupic / регионов. Я проверил источники и обнаружил, что "CategoriesOut" находится в выходных данных KNNClassifierRegion
outputs=dict(
categoriesOut=dict(
description='A vector representing, for each category '
'index, the likelihood that the input to the node belongs '
'to that category based on the number of neighbors of '
'that category that are among the nearest K.',
dataType='Real32',
count=0,
regionLevel=True,
isDefaultOutput=True),
Убедитесь, что вы используете KNNClassifierRegion при настройке модели TemporalClassification. Образцы для NontemporalClassification используют CLAClassifier, но CLAClassifierRegion не имеет никаких категорий Out в своих выходных данных, и ошибка, описанная в вашем вопросе, возникнет, если вы продолжите
'regionName' : 'CLAClassifierRegion'
для модели TemporalClassification.