【发布时间】:2019-10-14 00:45:51
【问题描述】:
我正在尝试使用 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 开发非常陌生,所以请原谅任何明显的疏忽!
再次感谢乔希
【问题讨论】:
-
console.log(model)的输出是什么。它应该向您显示所有相关的功能和属性。 -
感谢您的快速回复。在将代码修改为异步后,我使用了该语句并得到了一个巨大的 3000 行输出 (pastebin.com/raw/jtRM78HD),其中包含模型及其层的许多属性,但没有提及预测函数或任何其他应该的函数存在,例如 model.summary()。
标签: node.js tensorflow tensorflow.js