未捕获(在承诺中)错误:提供的权重数据没有目标变量:block1_conv1_2 / kernel

问题描述 投票:2回答:1

我是机器学习的新手,我正在关注如何使用mobilenet编写模型的blog

我设法转换.h5文件模型并尝试在我的网络应用程序上实现它。

不幸的是,当我尝试加载JSON模型时,我收到此错误:

未捕获(在承诺中)错误:提供的权重数据没有目标变量:block1_conv1_2 / kernel。

Screenshot of the error on a browser

我在命令行中转换了.h5模型,如下所示:

tensorflowjs_converter --input_format keras model.h5 ConvertedModel /

在浏览器中加载模型的代码,我跟着这个blog

let model;
async function loadModel(name) {
  $(".progress-bar").show(); 
  model = undefined;
  model = await tf.loadModel(`ConvertedModel/model.json`);
    $(".progress-bar").hide();
}

要查看模型的代码,请参阅blog link。但下面是如何编译模型的屏幕截图。 Model compilation

依赖关系:

  • Tensorflow 1.13.1
  • Python 3.6.0
  • tensorflowjs 1.0.1

任何帮助解决这个问题将不胜感激。非常感谢。

javascript python keras tensorflowjs-converter
1个回答
0
投票

看来你遇到过this error,你的一些重量增加了额外的后缀。

您可以通过从model.json手动删除这些额外的后缀来解决此问题:

block1_conv1_2/kernel 

应该是:

block1_conv1/kernel

'剪辑中的错误'错误现在已经是fixed所以我不太确定你为什么收到这个,但是你可以通过手动编辑model.json并更改每个实例来解决这个问题:

{"type":"ndarray", "value":6}

6
© www.soinside.com 2019 - 2024. All rights reserved.