1

我正在尝试将预训练的 Keras 模型加载到我的小型反应应用程序中。由于使用 TensorFlow 2.0 版本,添加和更改的内容很少。我想知道应该如何从本机文件系统加载模型。

  1. 首先我导入 tensorflowJS
import * as tf from "@tensorflow/tfjs";
  1. 我的目录结构 model.json 和所需的所有 .bin 文件都位于与我引用它们的 App.js 相同的目录中。

  2. 加载预训练模型 -文档

    model = await tf.loadLayersModel("file://model.json");

不幸的是,我无法获取错误。谁能解释我错过了什么?

4

1 回答 1

2

您必须使用 require() 设置模型权重和 JSON 的路径

const modelJSON = require("../model/model.json");

const modelWeights = require("../model/group1-shard1of1.bin");

const model = await tf.loadLayersModel(bundleResourceIO(modelJSON, modelWeights))

编辑如果您有多个 bin 文件,您只能将一个 bin 文件与一个 model.json 一起使用

下面的代码将您的 keras 模型转换为单个 bin 文件和 model.json

tensorflowjs_converter --input_format keras --weight_shard_size_bytes 60000000 path_to_model.h5 path_to_save
于 2020-09-17T06:55:51.263 回答