У меня есть поток, который я использую для получения изображения из хранилища объектов 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"