我是Javascript的新手,并且在Keras.JS的预测方面陷入了Promise的困境
基本上我需要从一个承诺(Keras模型)中获取预测值,所以我可以将它传递给另一个函数。以下代码取自Keras.js github。
var predictions = function () {
model
.ready()
.then(() => {
// input data object keyed by names of the input layers
// or `input` for Sequential models
// values are the flattened Float32Array data
// (input tensor shapes are specified in the model config)
console.log('Model ready',x_pred )
var inputData = {
"input": new Float32Array(x_pred)
};
console.log('input data ready')
// make predictions
return model.predict(inputData)
})
.then(outputData => {
// outputData is an object keyed by names of the output layers
// or `output` for Sequential models
// e.g.,
// outputData['fc1000']
//console.log("outputData", outputData)
const output = new Float32Array(outputData.output)
console.log( output )
})
};
现在,控制台会读取我预测的内容 - 因此模型正在按照我的意愿行事。但我需要采取这种预测并将其传递给另一个函数。以下仅指向我的模型承诺,输出未定义。
console.log(outpreds, output)
我理解这就是承诺的意义,但是一旦承诺得以实现,我真的希望能够通过输出做更多事情。不幸的是,当我使用Electron / NodeJS时,我无法访问async / await
有人能指出我正确的方向吗?