我想从 NodeJS 服务器内的本地文件在 Tensorflow.js 中加载 Keras 模型,但出现以下错误:“仅支持绝对 URL”。
let tf = require("@tensorflow/tfjs");
(async () => {
try
{
const model = await tf.loadLayersModel("/path/to/model.json");
}
catch(error)
{
console.error(error);
}
})();
loadLayersModel 还不支持本地文件吗?
谢谢!
最佳答案
Tensorflow documentation表示您应该使用 file://
关键字直接访问您的文件系统,例如
tf.loadLayersModel("file://path/to/model.json");
模型的路径与您当前从中调用函数的文件夹相关。例如,如果上述函数位于/a/b/c 中的文件中,而模型位于/a/d/model.json 中,则正确的路径为“file://../../d/model.json”。 JSON”。
此外,需要一个 require('@tensorflow/tfjs-node') ,否则会抛出以下错误:"Only HTTP(s) protocols are supported"。
完整的工作示例:
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
(async () => {
try
{
const model = await tf.loadLayersModel('file://relative/path/to/model.json');
}
catch(error)
{
console.error(error);
}
})();
关于node.js - 使用 loadLayersModel 在 Tensorflow.js 中加载 Keras 模型时出现 "Only absolute URLs are supported",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56049893/