我正在使用脑JS来预测一些数据,使用的是’recurrent LSTM’。我使用NodeJS作为接口,并使用Express来训练和预测输出。
以下是一些基本的训练数据:
var net = new brain.recurrent.LSTM(); net.train([ { input: 'I feel great about the world!', output: 'happy' }, { input: 'The world is a terrible place!', output: 'sad' }, ]);
训练部分:
app.get('/learn', function(req, res) { var params = req.query; if( params.str !== '' ) { net.train([ { input: params.str, output: params.output } ]); res.send('训练完成'); } else{ res.send('没有可训练的内容'); }});
输出部分:
app.get('/predict', function(req, res) { var params = req.query; if( params.str !== '' ) { var output = net.run(params.str); // 'happy' res.send(output); } else{ res.send('没有可预测的内容'); }});
现在,当我在训练或预测的字符串中使用以下任何字母时,就会出现问题。
j k m n q v x z
具体错误信息:
Error: unrecognized character "q" at DataFormatter.toIndexes (/var/www/html/brainjs/node_modules/brain.js/dist/utilities/data-formatter.js:85:17) at DataFormatter.toIndexesInputOutput (/var/www/html/brainjs/node_modules/brain.js/dist/utilities/data-formatter.js:101:23) at LSTM.formatDataIn (/var/www/html/brainjs/node_modules/brain.js/dist/recurrent/rnn.js:766:35) at LSTM.run (/var/www/html/brainjs/node_modules/brain.js/dist/recurrent/rnn.js:378:24) at /var/www/html/brainjs/index.js:56:23 at Layer.handle [as handle_request] (/var/www/html/brainjs/node_modules/express/lib/router/layer.js:95:5) at next (/var/www/html/brainjs/node_modules/express/lib/router/route.js:137:13) at Route.dispatch (/var/www/html/brainjs/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/var/www/html/brainjs/node_modules/express/lib/router/layer.js:95:5) at /var/www/html/brainjs/node_modules/express/lib/router/index.js:281:22
如果有人能对此问题提供一些见解,将会非常有帮助。
回答:
这是一个已知的问题。
他们已经修复了这个问题。