5

我是机器学习的新手,我正在关注这个关于如何使用 mobilenet 编写模型的博客

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

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

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

浏览器上的错误截图

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

tensorflowjs_converter --input_format keras model.h5 ConvertedModel/

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

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

要查看模型的代码,请参阅博客链接。但下面是如何编译模型的屏幕截图。 模型编译

依赖项:

  • 张量流 1.13.1
  • Python 3.6.0
  • 张量流js 1.0.1

任何解决此问题的帮助将不胜感激。太感谢了。

4

1 回答 1

7

您似乎遇到了这个错误,您的某些权重添加了额外的后缀。

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

block1_conv1_2/kernel 

应该改为:

block1_conv1/kernel

“剪辑错误”错误现已修复,因此我不太确定您收到此错误的原因,但您可以再次通过手动编辑 model.json 并更改以下每个实例来解决此问题:

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

6
于 2019-03-22T18:37:07.753 回答