2

我想加载keras已转换为tensorflow.js兼容格式的模型来执行推理。我的代码看起来像这样

import * as tf from '@tensorflow/tfjs';
import "regenerator-runtime/runtime.js";
import 'bootstrap/dist/css/bootstrap.css';

const model_path = '/home/user/Desktop/Github/tfjs_model/tfjs/tfjs_model/model.json'; 

async function loadModel(path){
  console.log("Model loading in progress from ".concat(path));
  const model =  await tf.loadLayersModel(path);
  console.log("Model Loaded Successfully");
  return model;
};

const model = loadModel(model_path);

const input = tf.tensor1d([1], [13]);
console.log(model.predict(input));

我收到了这个错误 Error: Failed to parse model JSON of response from /home/user/Desktop/Github/tfjs_model/tfjs/tfjs_model/model.json'. Please make sure the server is serving valid JSON for this request. ,我查看了很多地方(Github 问题,堆栈溢出),但似乎找不到修复方法。如何解决?`

4

1 回答 1

0

我也有这个问题。

使用const model = await tf.loadLayersModel('directory/model.json');产生了与您相同的错误。我尝试将导入更改为 find file model2.json,但它不存在但给出了相同的错误(我注意到 TensorFlow.js 存在一个突出问题,给出了更有意义的错误)。

查看我的 Parcel 设置,我意识到model.json.bin文件被复制到文件夹的根dist目录中。所以我从导入中删除了目录,现在它可以使用:

const model = await tf.loadLayersModel('model.json');

请注意,我的文件仍在<content_root>/directory/.

于 2020-07-19T21:52:15.110 回答