"Only absolute URLs are supported" 使用 loadLayersModel 在 Tensorflow.js 中加载 Keras 模型时
"Only absolute URLs are supported" when loading Keras model in Tensorflow.js with loadLayersModel
我想从 NodeJS 服务器中的本地文件加载 Tensorflow.js 中的 Keras 模型,但出现以下错误:"Only absolute URLs are supported".
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".
此外,需要一个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);
}
})();
我想从 NodeJS 服务器中的本地文件加载 Tensorflow.js 中的 Keras 模型,但出现以下错误:"Only absolute URLs are supported".
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".
此外,需要一个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);
}
})();