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

2024-02-21

我是机器学习的新手,我正在关注这个blog https://github.com/vbookshelf/Skin-Lesion-Analyzer/blob/master/skin-lesion-analyzer-jupyter-notebook%20version%202.ipynb关于如何使用 mobilenet 编写模型。

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

不幸的是,当我尝试加载 JSON 模型时,出现以下错误:

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

浏览器上的错误屏幕截图 https://i.stack.imgur.com/TJrnC.png

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

tensorflowjs_converter --input_format keras model.h5 ConvertedModel/

在浏览器中加载模型的代码,我遵循了这个blog https://github.com/aryanmisra/Skin-Lesion-Classifier/blob/master/predict.js

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

要查看型号的代码,请参阅博客链接 https://github.com/vbookshelf/Skin-Lesion-Analyzer/blob/master/skin-lesion-analyzer-jupyter-notebook%20version%202.ipynb。 但下面是模型编译方式的屏幕截图。模型编译 https://i.stack.imgur.com/2stQ9.png

依赖项:

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

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


看来你也遇到过这个错误 https://github.com/tensorflow/tfjs/issues/755您的某些权重中添加了额外的后缀。

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

block1_conv1_2/kernel 

应该是:

block1_conv1/kernel

“剪辑错误”错误现已修复fixed https://github.com/tensorflow/tfjs/issues/908所以我不太确定您为什么收到这个,但是您可以再次通过手动编辑 model.json 并更改以下每个实例来解决此问题:

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

to

6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐