无法在 Tensorflowjs 中加载冻结模型

Fail to load frozen model in Tensorflowjs

我尝试加载转换后的tensorflow模型,但是控制台显示如下错误:

版本:

"dependencies": {
    "@tensorflow-models/posenet": "0.1.2",
    "@tensorflow/tfjs": "0.11.4",
    "@tensorflow/tfjs-converter": "^0.6.1",
    "asyncawait": "^1.0.7",
    "stats.js": "^0.17.0"
  }

代码:

import * as tf from '@tensorflow/tfjs';
import {loadFrozenModel} from '@tensorflow/tfjs-converter';

const MODEL_URL = 'faster_rcnn/web_model/tensorflowjs_model.pb';
const WEIGHTS_URL = 'faster_rcnn/web_model/weights_manifest.json';

const model =(async () => {
    await loadFrozenModel(MODEL_URL, WEIGHTS_URL)})();

错误:

我把模型放在Google驱动器:

https://drive.google.com/file/d/1yNIC9TD1MWzJyI3ewnJCmM1bmTAYC_1E/view?usp=sharing

请帮忙。

谢谢!

您必须将存储类型传递给 loadFrozenModel()。你的情况是:file:///.

您代码中的另一个问题是立即调用的异步函数没有 return 任何东西,因此您的模型变量保持未定义状态。

要解决这两个问题:

(async () => {
    const model = loadFrozenModel('file:///' + MODEL_URL, 'file:///' + WEIGHTS_URL);
    //Now you can only use 'model' in here.
})();