javascript - 本地加载keras模型到tensorflow.js

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

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));

我收到这个错误 错误:无法解析来自/home/user/Desktop/Github/tfjs_model/tfjs/tfjs_model/model.json 的响应的模型 JSON。请确保服务器为此请求提供有效的 JSON。 我查看了很多地方(Github 问题、Stack 溢出)但似乎找不到解决方法。如何解决? `

最佳答案

我也遇到过这个问题。

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

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

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

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

https://stackoverflow.com/questions/61096228/

相关文章:

c# - IOptions 验证不会触发,直到我在 Asp.Net Core 3 中显式调用具有属性

node.js - Angular 9 Node.js AWS - 从 'aws-sdk' 添加导入

python - 没有 Conda 的 Conda environment.yml

python - 使用 MCP3002 模数转换器控制 LED 亮度

python - 带有 GEKKO 的轨迹规划器无法处理给定的目标速度

google-cloud-platform - GCP Bigquery 通过 Terraform

angular - 接口(interface)对象属性未定义,但有 Angular 值

react-native - react native 文本输入键盘如何显示点而不是逗号?

javascript - react 导航和状态栏颜色在 View 更改时闪烁

symfony - 如何通过 Swagger Decorator 在 API 平台中记录自定义 PO