无法通过tensorflow.js model()加载本地模型

时间:2019-08-05 19:01:50

标签: python tensorflow tensorflow.js

我有一个模型,我将其转换为tensorflowjs的json。现在,我正在尝试从本地加载此模型,但无法加载它并出现错误 Failed to load locally-saved model. TypeError: Cannot read property 'sourceLayer' of undefined

我正在使用nodev8.16.0,tensorflow / tfjs:“ ^ 1.2.6”和@ tensorflow / tfjs-node:“ ^ 1.2.5”。 我尝试使用各种方式加载模型 tf.model() tf.LayersModel()

还尝试使用tfn.io.fileSystem加载模型

global.fetch = require('node-fetch');
const tf = require('@tensorflow/tfjs');
const tfn = require("@tensorflow/tfjs-node");

async function init() {
    const LOCAL_MODEL_PATH = 'file://some_model.json';
    // const handler = tfn.io.fileSystem(LOCAL_MODEL_PATH);
    let model;
    try {
        model = await tf.model(LOCAL_MODEL_PATH);
        model.summary();
        console.log('Loaded locally-saved model!');
        // runAndVisualizeInference(model);
    } catch (err) {
        console.log('Failed to load locally-saved model. ' + err);
    }
}
init();

1 个答案:

答案 0 :(得分:0)

tf.model的参数是符号张量的对象。由于未使用正确的参数而引发错误。值得注意的是,表明tf.model用于构建新模型。这里要做的是加载保存在model.json中的现有模型。

const tf = require("@tensorflow/tfjs");
const tfn = require("@tensorflow/tfjs-node");
const handler = tfn.io.fileSystem("url-to-model.json");
const model = await tf.loadModel(handler);