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

https://github.com/numenta/nupic/blob/469f6372082e95dd5d2a96181b745ba36d2e7a8a/nupic/regions/KNNClassifierRegion.py

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.

Другие вопросы по тегам