首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Keras model.to_json()获得漂亮的打印JSON?

如何使用Keras model.to_json()获得漂亮的打印JSON?
EN

Stack Overflow用户
提问于 2017-07-26 23:00:46
回答 3查看 1.9K关注 0票数 9

我正在尝试save model to JSON with Keras并获得精简的JSON代码。

这里有没有可能用打印精美、人性化的JSON来保存呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-27 06:49:22

来自keras的to_json method接受**kwargs并将其传递给json.dumps。因此,这是一行解决方案:

代码语言:javascript
复制
print(model.to_json(indent=4))

它会生成类似于@anton-vbr示例的结果。

票数 11
EN

Stack Overflow用户

发布于 2017-07-26 23:06:22

您可以使用pprint.pformat检索一个漂亮的字符串:

代码语言:javascript
复制
import pprint
json_str = model.to_json()
formatted_str = pprint.pformat(json.loads(json_str), indent=4)

如果您不想保存已格式化的json的副本,而是希望将其保存到文件中,则可以使用pprint.pprint并指定带有文件处理程序的stream=...

代码语言:javascript
复制
pprint.pprint(json.loads(json_str), indent=1, stream=open('model.json', 'w'))
票数 2
EN

Stack Overflow用户

发布于 2017-07-27 06:29:36

您可以使用json库。文档地址:https://docs.python.org/3.6/library/json.html

代码语言:javascript
复制
import json
json_str = model.to_json()
print(json.dumps(json.loads(json_str),indent=4))

要将其保存到文件,请执行以下操作:

代码语言:javascript
复制
import json
json_str = model.to_json()
with open("output.json", "w") as f:
    json.dump(json.loads(json_str), f, indent=4)

来自pandas的示例数据帧:

代码语言:javascript
复制
datetime            temp    weather
2017-07-27 02:00:00 22.94   light rain
2017-07-27 05:00:00 21.74   clear sky
2017-07-27 08:00:00 21.10   light rain
2017-07-27 11:00:00 27.69   clear sky

结果如下:

代码语言:javascript
复制
{
    "weather": {
        "1501131600000": "clear sky",
        "1501153200000": "clear sky",
        "1501142400000": "light rain",
        "1501120800000": "light rain"
    },
    "temp": {
        "1501131600000": 21.74,
        "1501153200000": 27.69,
        "1501142400000": 21.1,
        "1501120800000": 22.94
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45330718

复制
相关文章

相似问题

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