Tensorflow JS在本地加载TFHub模型

问题描述

我正在通过loadGraphModel包中的@tensorflow/tfjs-converter从TFHub加载模型。

loadModel = function () {
    return __awaiter(this,void 0,function () {
      return __generator(this,function (_a) {
        return [2,tfconv.loadGraphModel('https://tfhub.dev/tensorflow/tfjs-model/toxicity/1/default/1',{ fromTFHub: true })];
      });
    });
  };

这很好。然后,我将模型下载到本地进行离线预测:

.
├── group1-shard1of7
├── group1-shard2of7
├── group1-shard3of7
├── group1-shard4of7
├── group1-shard5of7
├── group1-shard6of7
├── group1-shard7of7
├── model.json
└── vocab.json

,我现在想在本地加载此模型。对于其他模型,我正在使用支持文件协议tfjs.loadLayersModel(this.path)方法file://,但是如果尝试加载此模型,则会出现以下错误

'className' and 'config' must set.

实际上,这些键在model.json中丢失了。 我试图以这种方式从中心加载图形:

var loadGraphModel = function () {
  return new Promise(function (resolve,reject) {
    tfconv.loadGraphModel(
      'https://tfhub.dev/tensorflow/tfjs-model/toxicity/1/default/1',{ fromTFHub: true })
      .then(res => {
        console.log(res)
        resolve(res);
      })
      .catch(err => reject(err));
  });
}

GraphModel {
  modelUrl: 'https://tfhub.dev/tensorflow/tfjs-model/toxicity/1/default/1/model.json?tfjs-format=file',loadOptions: { fromTFHub: true },version: 'undefined.undefined',handler: HTTPRequest {
    DEFAULT_METHOD: 'POST',weightPathPrefix: undefined,onProgress: undefined,fetch: [Function],path: 'https://tfhub.dev/tensorflow/tfjs-model/toxicity/1/default/1/model.json?tfjs-format=file',requestinit: {}
  },artifacts: {
    modelTopology: { node: [Array],library: {},versions: {} },weightSpecs: [
    ...

那么如何在本地加载TFHub GraphModel,就像从本地文件系统保存并重新加载一样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)