微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tensorflow JS在本地加载TFHub模型

如何解决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 举报,一经查实,本站将立刻删除。