gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 06:12:12 26 4
gpt4 key购买 nike

当我尝试在我的网络应用程序上加载我的训练模型时,我收到以下错误,从路径正确到达 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com