TFJS 节点模型未正确加载,无可用功能
TFJS Node Model Not Loading Correctly, No Functions Available
我正在尝试使用 Node 将 Keras 模型导入 Tensorflow.JS 并且没有发生明显的错误但是,当我尝试使用我导入的模型时,它没有可用的功能所以它显然没有正确加载。我选择使用 Express 来托管静态 HTTP 文件服务器,并且我正在托管 model.json 以及 20 个二进制分片文件。
我想如果读取这个模型有问题,就会有一个明显的错误(因为我以前遇到过这个问题,不得不修改我的 Express 代码来修复它...)
本地型号:
静态 HTTP 服务器:
file_server.use(express.static(__dirname + '/model')); // Where the model resides
正在加载模型:
var tf = require('@tensorflow/tfjs-node');
const model = tf.loadLayersModel('http://127.0.0.1:3001/model.json');
console.log(typeof(model)); // Returns 'object'
var predictions = model.predict(image_tensor).data();
// TypeError: model.predict is not a function
我已经尝试在异步函数中加载模型,使用 await 并尝试异步预测,但问题仍然存在。
如果需要任何更多信息,请告诉我,我对 Node 和 Web 开发总体上还很陌生,所以请原谅任何明显的疏忽!
再次感谢,乔希
经过一番摸索,我发现这不是模型加载的问题,而是模型处于块范围内的问题。将 const 更改为 var 似乎可以解决此问题。我不知道为什么只有功能不可用,但是这段代码似乎可以解决它:
var tf = require('@tensorflow/tfjs-node');
var model = "";
exports.loadModel = async function() {
model = await tf.loadLayersModel('http://127.0.0.1:3001/model.json');
}
我正在尝试使用 Node 将 Keras 模型导入 Tensorflow.JS 并且没有发生明显的错误但是,当我尝试使用我导入的模型时,它没有可用的功能所以它显然没有正确加载。我选择使用 Express 来托管静态 HTTP 文件服务器,并且我正在托管 model.json 以及 20 个二进制分片文件。
我想如果读取这个模型有问题,就会有一个明显的错误(因为我以前遇到过这个问题,不得不修改我的 Express 代码来修复它...)
本地型号:
静态 HTTP 服务器:
file_server.use(express.static(__dirname + '/model')); // Where the model resides
正在加载模型:
var tf = require('@tensorflow/tfjs-node');
const model = tf.loadLayersModel('http://127.0.0.1:3001/model.json');
console.log(typeof(model)); // Returns 'object'
var predictions = model.predict(image_tensor).data();
// TypeError: model.predict is not a function
我已经尝试在异步函数中加载模型,使用 await 并尝试异步预测,但问题仍然存在。
如果需要任何更多信息,请告诉我,我对 Node 和 Web 开发总体上还很陌生,所以请原谅任何明显的疏忽!
再次感谢,乔希
经过一番摸索,我发现这不是模型加载的问题,而是模型处于块范围内的问题。将 const 更改为 var 似乎可以解决此问题。我不知道为什么只有功能不可用,但是这段代码似乎可以解决它:
var tf = require('@tensorflow/tfjs-node');
var model = "";
exports.loadModel = async function() {
model = await tf.loadLayersModel('http://127.0.0.1:3001/model.json');
}