Uncaught (in promise) Error: Provided weight data has no target variable: block1_conv1_2/kernel

混江龙づ霸主 提交于 2020-06-25 21:42:06

问题


I am new to machine learning and I was following this blog on how to write a model with mobilenet.

I managed to convert the .h5 file model and tried to implement it on my web app.

Unfortunately, when I try to load the JSON model I get this error:

Uncaught (in promise) Error: Provided weight data has no target variable: block1_conv1_2/kernel.

Screenshot of the error on a browser

I converted the .h5 model in the command line like so:

tensorflowjs_converter --input_format keras model.h5 ConvertedModel/

The code to load the model in the browser, I followed this blog

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

To see the code of the model please refer to the blog link. But below is a screenshot of how the model is compiled. Model compilation

Dependencies:

  • Tensorflow 1.13.1
  • Python 3.6.0
  • tensorflowjs 1.0.1

Any help to fix this would be appreciated. Thank you so much.


回答1:


It seems you've encountered this error where an extra suffix has been added to some of your weights.

You can work around this issue by manually removing these extra suffixes from your model.json:

block1_conv1_2/kernel 

should instead be:

block1_conv1/kernel

The 'Error in clip' bug has now been fixed so I'm not too sure why you've received this one, but once again you can work around this by manually editing the model.json, and changing every instance of:

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

to

6


来源:https://stackoverflow.com/questions/55295671/uncaught-in-promise-error-provided-weight-data-has-no-target-variable-block1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!