javascript - 加载 model.json Tensorflow.js 时出错,提供的 IOHandler 没有实现 `load` 方法

标签 javascript tensorflow keras tensorflow.js

当我尝试在我的网络应用程序上加载我的训练模型时,我收到以下错误,从路径正确到达 json(我尝试使用 console.log 打印并且没问题),似乎问题是当 tf.loadLayers 尝试加载它时......

Vue 应用代码

  import * as tf from '@tensorflow/tfjs';

  export default {
    data(){
      return {
        modelJSON: require('../model/jsmodel/model.json'),
      }
    },
  mounted(){
    this.loadModel();
  },
  methods: {
      async loadModel(){
        this.model = await tf.loadLayersModel(this.modelJSON)
      },
...

错误

models.js?411e:207 Uncaught (in promise) Error: Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.
    at loadLayersModelFromIOHandler (models.js?411e:207)
    at loadLayersModelInternal (models.js?411e:190)
    at Module.loadLayersModel (exports.js?79b0:220)
    at _callee$ (SingleTweet.vue?b47c:40)
    at tryCatch (runtime.js?96cf:63)
    at Generator.invoke [as _invoke] (runtime.js?96cf:293)
    at Generator.eval [as next] (runtime.js?96cf:118)
    at asyncGeneratorStep (asyncToGenerator.js?1da1:3)
    at _next (asyncToGenerator.js?1da1:25)
    at eval (asyncToGenerator.js?1da1:32)

最佳答案

我检查了源代码,看起来用 ES6 或 CommonJS 导入的模型的静态文件 manifesto json 中的正确处理程序没有实现,所以作为一种解决方法,它通过 http 对我有效,你可以将你的模型放置到存储或启动本地服务器并在浏览器中为您打开应用程序的页面禁用 CORS。我认为这个问题可以在 github 项目上打开。

  1. 安装http服务器,例如

    npm 安装 http-server -g

  2. 启动您的开发服务器

    npm 运行开发

  3. 启动服务器以提供模型文件夹中的文件

    http 服务器

  4. 在我的例子中,将 this.modelJSON 更改为 JSON 文件的路径

    const modelJSON = 'http://127.0.0.1:8087/model.json'

  5. 禁用 CORS 以允许跨域请求,有一个插件可以做到这一点。

模型可以放置在例如到 CloudStorage 或任何其他具有静态信息的服务器。

关于javascript - 加载 model.json Tensorflow.js 时出错,提供的 IOHandler 没有实现 `load` 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63694203/

相关文章:

javascript - 在所有浏览器中悬停时动画 svg 路径

javascript - 当模板与原始数组绑定(bind)时,在不改变原始数组的情况下搜索功能?

javascript - 强制 knockout 订阅在焦点/模糊后触发

javascript - Node.js 模块的异步初始化

Keras:为大型数据集批量加载图像

tensorflow - 了解张量板: why 12 tensors sent to optimizer?

tensorflow - 在 TensorBoard 中找不到任何标量摘要

classification - Tensorflow 中类不平衡二元分类器的损失函数

python - 多输入预训练模型

python - 如何在 Tensorflow 2.0 中应用 Guided BackProp?