MXNet/Gluon 中网络和参数的存取方式

本文详细介绍了MXNet和Gluon中网络与参数的存储及读取方法。在MXNet中,网络和参数是分离的,需要分别使用json格式存储网络结构,并通过`save_params()`保存参数。Gluon提供了更高级的存取方式,包括`export()`方法来同时导出网络和参数。在读取时,Gluon的`load_checkpoint()`可以加载网络与参数。文章还提到了错误处理,当网络与参数前缀不一致时,应确保两者匹配。Gluon在MXNet基础上提供更简洁的接口,降低了深度学习开发难度。
摘要由CSDN通过智能技术生成

Gluon是MXNet的高层封装,网络设计简单易用,与Keras类似。随着深度学习技术的普及,类似于Gluon这种,高层封装的深度学习框架,被越来越多的开发者接受和使用。

在开发深度学习算法时,必然会涉及到网络(symbol)和参数(params)的存储与加载,Gluon模型的存取接口,与MXNet略有不同。在MXNet体系中,网络与参数是分离的,这样的设计,有利于迁移学习(Transfer Learning)中的参数复用。

本文分别介绍MXNet和Gluon中网络和参数的存取方式。

在MXNet体系中,net = symbol + params。

本文地址https://blog.csdn.net/caroline_wendy/article/details/80494120

Save & Load


MXNet

MXNet中网络和参数是分离的,这两部分需要分别存储和读取。

网络

MXNet的网络(symbol)使用json格式存储:

  1. 创建填充变量data,即mx.sym.var('data')
  2. 将填充变量置入网络,即net_triplet(vd)
  3. 获取填充之后的网络结构,转换为json对象,即vnet.tojson()
  4. 将json对象写入文件,即write_line(json_file, sym_json)

则,最终的json文件就是MXNet的网络结构。

实现:

vd = mx.sym.var(
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CarolineSpike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值