首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError: JSON内容必须是一个“命令”,但是找到了<class‘列表’>

TypeError: JSON内容必须是一个“命令”,但是找到了<class‘列表’>
EN

Stack Overflow用户
提问于 2019-12-05 06:06:24
回答 1查看 319关注 0票数 0

在Python3.7中运行"tensorflowjs_converter“时。它报告了错误:

TypeError: JSON内容被要求是一个dict,但是找到了类‘’list‘。

我想将json的文件转换为keras_save_model:

代码语言:javascript
运行
复制
tensorflowjs_converter --input_format tfjs_layers_model --output_format keras_saved_model tiny_face_js/tiny_face_detector_model-weights_manifest.json tiny_face_h5

但是失败了,我查看了json文件。

[{“权重”:[{“名称”:“卷积0/过滤器”,“形状”:3,3,3,16,"dtype":"float32",“量化”:{“dtype”:“uint8”,“比例尺”:0.009007044399485869,“min”:-1.2069439495311063},{“名称”:“卷积0/偏向”,“形状”:16,"dtype":"float32",“量化”:{“dtype”:“uint8”,"scale":0.005263455241334205,“min”:-0.9211046672334858},{“名称”:“卷积1/深度筛选器”,“形状”:3,3,16,1,"dtype":"float32",“量化”:{“uint8”,“缩放”:0.004001977630690033,“min”:-0.5042491814669441},{“名称”:“卷积1/切入点过滤器”,“形状”:1,1,16,32,"dtype":"float32",“dtype”:{“dtype”:{“dtype”:“uint8”,“缩放”:0.013836609615999109,“最小”:-1.411334180831909},{“名称”:“卷积1/偏向”,“形状”:32,"dtype":"float32",“量化”:{“dtype”:“uint8”,“比例尺”:0.0015159862590771096,“min”:-0.30926119685173037},{“名称”:“卷积2/深度筛选器”,“形状”:3,3,32,1,"dtype":"float32",“dtype”:{“dtype”:“uint8”,“缩放”:0.002666276225856706,“最小”:-0.317286870876948},{“名称”:“卷积2/点态滤波器”,“形状”:1,1,32,64,"dtype":"float32",“量化”:{“dtype”:“uint8”,"scale":0.015265831292844286,"min":-1.6792414422128714}},{“name”:“卷积2/偏向”,"shape":64,"dtype":"float32",“float32”,“uint8”,“缩放”:0.0020280554598453,“最小”:-0.37113414915168985},{“名称”:“卷积3/深度过滤器”,“形状”:3,3,64,1,"dtype":"float32",“量化”:{“dtype”:“uint8”,"scale":0.006100742489683862,"min":-0.8907084034938438}},{“name”:“卷积3/pointwise_filter”,"shape":1,1,64,128,"dtype":"float32",“量化”:{“dtype”:“uint8”,“比例尺”:0.016276211832083907,“min”:-2.0508026908425725},{“名称”:“卷积3/偏向”,“形状”:128,"dtype":"float32",“量化”:{“dtype”:“uint8”,"scale":0.003394414279975143,“min”:-0.7637432129944072},{“name”:“卷积4/深处筛选器”,"shape":3,3,128,1,"dtype":"float32",“量化”:{“dtype”:“uint8”,"scale":0.006716050119961009,“min”:-0.8059260143953211},{“name”:“conv4 4/pointwise_filter”,“bias”:1,128,256,"dtype":"float32",“float32”:{“dtype”:“uint8”,"scale":0.021875603993733724,“min”:-2.8875797271728514},{“name”:“卷积4/偏向”,“bias”:256,"dtype":"float32",“量化”:{“d类型”:“uint8”,“缩放”:0.0041141652009066415,“最小”:-0.8187188749804216},{“名称”:“卷积5/深度筛选器”,“形状”:3,256,1,"dtype":"float32",“量化”:{“dtype”:“uint8”,“比例尺”:0.008423839597141042,“min”:-0.9013508368940915},{“name”:“conv5 5/pointwise_filter”,“形状”:1,1,256,512,“d类型”:“float32”,“量化”:{“dtype”:“uint8”,“缩放”:0.030007277283014035,“min”:-3.8709387695088107},{“名称”:“卷积5/偏向”,“形状”:512,“d类型”:“float32”,“量化”:{“dtype”:“uint8”,“比例尺”:0.008402082966823203,“min”:-1.4871686851277068},{“name”:“卷积8/filters”,“形状”:1,1,512,25,“float32”:“uint8”,“量化”:{“dtype”:“uint8”,“比例尺”:0.028336129469030042,“min”:-4.675461362389957},{“名称”:“卷积8/偏差”,“形状”:25,"dtype":"float32",“量化”:{“dtype”:“uint8”,“比例尺”:0.002268134028303857,“min”:-0.41053225912299807}],“路径”:“微脸检测器模型-shard1 1”}]。

我试图删除"[]",它报告说:

追溯(最近一次调用):文件"e:\users\admin\anaconda3\envs\ai_python3.7\lib\runpy.py",第193行,在_run_module_as_main "main“中,mod_spec中的文件"e:\users\admin\anaconda3\envs\ai_python3.7\lib\runpy.py",行85,在_run_code exec中(代码,文件"C:\Users\admin\AppData\Roaming\Python\Python37\Scripts\tensorflowjs_converter.exe__main__.py",第7行,文件"C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflowjs\converters\converter.py",第638行,在"C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflowjs\converters\converter.py",main([‘'.join(sys.argv1:)]) pip_main第642行中,在主转换(argv.split(’'))文件"C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflowjs\converters\converter.py",第605行中,在“转换文件”( "C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflowjs\converters\converter.py",)第257行中,在“dispatch_tensorflowjs_to_keras_saved_model_conversion model = keras_tfjs_loader.load_keras_model(config_json_path) "C:\Users\admin\AppData\Roaming\Python\Python37\site-packages\tensorflowjs\converters\keras_tfjs_loader.py",”行中,在load_keras_model _check_config_json(config_json) File KeyError第96行中,在_check_config_json Field(‘Field“modelTopology是缺少JSON内容’)中。KeyError: JSON内容中缺少"modelTopology“字段。有什么办法解决这个问题吗?

谢谢和问候!君燕

EN

回答 1

Stack Overflow用户

发布于 2019-12-13 03:09:16

当您指定tfjs_layers_model作为输入格式时,输入应该是由tfjs-转换器预先生成的model.json。格式如下。

代码语言:javascript
运行
复制
{
  "format": "layers-model",
  "generatedBy": "1.13.1",
  "convertedBy": "TensorFlow.js Converter v1.4.0",
  "userDefinedMetadata": {
    //...
  }
}

需要注意的是,tfjs_layers_model仅由keraskeras_saved_model创建,而层模型不支持tf_saved_model。创建层模型的命令可能如下所示。

代码语言:javascript
运行
复制
$ tensorflowjs_converter \
    --input_format=keras \
    --output_format=tfjs_layers_model \
    /path/to/keras_model \
    /path/to/tfjs_model

然后你就可以像这样重建角星模型了。

代码语言:javascript
运行
复制
$ tensorflowjs_converter \
    --input_format tfjs_layers_model \
    --output_format keras_saved_model \
    /path/to/tfjs_model/model.json \
    /path/to/tiny_face_h5

有关详细信息,请参阅:将TensorFlow SavedModel、TensorFlow集线器模块、Keras HDF5或tf.keras SavedModel转换为web友好格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59189181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档