Невозможно использовать пользовательский классификатор в узле Node-Red Watson Visual Recognition.

У меня есть поток, который я использую для получения изображения из хранилища объектов IBM и передачи его узлу Watson Visual Recognition для классификации с помощью специального классификатора, который я обучил. Несколькими неделями ранее он перестал работать, и узел визуального распознавания выдавал ошибку: «Получен недопустимый параметр JSON. Невозможно выполнить синтаксический анализ». Я использовал узлы «change», чтобы установить параметры сообщения для классификации, как показано здесь:введите описание изображения здесь Я заметил, что если я удалю узел, в котором я установил идентификатор классификатора, то я не получите никаких ошибок, и изображение классифицируется с использованием классификатора по умолчанию. Я попытался использовать функциональный узел для установки параметров, используя следующий код, но получил ту же ошибку:

msg.params = {};
msg.params["detect_mode"] = "classify";
msg.params["classifier_ids"] = "person_705615375";
msg.params["threshold"] = 0;
return msg;

Кроме того, если я установил классификатор «По умолчанию», изображение должно быть классифицировано с использованием классификатора по умолчанию в соответствии с информационной страницей узла визуального распознавания. Однако я все еще получаю ту же ошибку. Вот пример сообщения, переданного для классификации:

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

Некоторая дополнительная информация из результата узла визуального распознавания:

result: object
    error: object
        message: "Invalid JSON parameter received. Unable to parse."
        stack: "Error: Invalid JSON parameter received. Unable to parse.↵ at Request._callback (/home/vcap/app/node_modules/node-red-node-watson/node_modules/watson-developer-cloud/lib/requestwrapper.js:85:15)↵ at Request.self.callback (/home/vcap/app/node_modules/node-red-node-watson/node_modules/watson-developer-cloud/node_modules/request/request.js:186:22)↵ at emitTwo (events.js:87:13)↵ at Request.emit (events.js:172:7)↵ at Request.<anonymous> (/home/vcap/app/node_modules/node-red-node-watson/node_modules/watson-developer-cloud/node_modules/request/request.js:1163:10)↵ at emitOne (events.js:77:13)↵ at Request.emit (events.js:169:7)↵ at IncomingMessage.<anonymous> (/home/vcap/app/node_modules/node-red-node-watson/node_modules/watson-developer-cloud/node_modules/request/request.js:1085:12)↵ at IncomingMessage.g (events.js:260:16)↵ at emitNone (events.js:72:20)↵ at IncomingMessage.emit (events.js:166:7)↵ at endReadableNT (_stream_readable.js:923:12)↵ at nextTickC..."
        code: 400
        images_processed: 0
        error: "Invalid JSON parameter received. Unable to parse."
        description: "Invalid JSON parameter received. Unable to parse."
        error_id: "parameter_error"

person FLNX    schedule 26.12.2017    source источник


Ответы (1)


У меня такая же ошибка.

Попробуйте так. Перепишите функциональный узел следующим образом:

msg.params={"classifier_ids":["person_705615375"],"threshold":0};
return msg;

«detect_mode» можно установить в узле Visual Recognition.

person sken    schedule 28.12.2017