使用TensorflowJS 2.0.1从本地文件系统加载Tensorfow模型

时间:2020-08-02 23:41:21

标签: tensorflow tensorflow2.0 tensorflow.js tensorflowjs-converter

我正在尝试将预训练的Keras模型加载到我的小型react-App中。自TensorFlow 2.0版以来,几乎没有增加和更改任何内容。我想知道如何从本地文件系统中加载模型。

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

  2. 加载预先训练的模型-docs

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

很遗憾,获取错误失败。谁能解释我在想什么?

1 个答案:

答案 0 :(得分:1)

您必须使用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