import mxnet as mx
import pdb
def load_checkpoint():
"""
Load model checkpoint from file.
:param prefix: Prefix of model name.
:param epoch: Epoch number of model we would like to load.
:return: (arg_params, aux_params)
arg_params : dict of str to NDArray
Model parameter, dict of name to NDArray of net's weights.
aux_params : dict of str to NDArray
Model parameter, dict of name to NDArray of net's auxiliary states.
"""
save_dict = mx.nd.load('model-0000.params')
arg_params = {}
aux_params = {}
for k, v in save_dict.items():
tp, name = k.split(':', 1)
if tp == 'arg':
arg_params[name] = v
if tp == 'aux':
aux_params[name] = v
return arg_params, aux_params def convert_context(params, ctx):
"""
:param params: dict of str to NDArray
:param ctx: the context to convert to
:return: dict of str of NDArray with context ctx
"""
new_params = dict()
for k, v in params.items():
new_params[k] = v.as_in_context(ctx)
#print new_params[0]
return new_params def load_param(convert=False, ctx=None):
"""
wrapper for load checkpoint
:param prefix: Prefix of model name.
:param epoch: Epoch number of model we would like to load.
:param convert: reference model should be converted to GPU NDArray first
:param ctx: if convert then ctx must be designated.
:return: (arg_params, aux_params)
"""
arg_params, aux_params = load_checkpoint()
if convert:
if ctx is None:
ctx = mx.cpu()
arg_params = convert_context(arg_params, ctx)
aux_params = convert_context(aux_params, ctx)
return arg_params, aux_params if __name__=='__main__':
result = load_param();
#pdb.set_trace()
print 'result is'
#print result
for dic in result:
for key in dic:
print(key,dic[key].shape)
# print 'one of results is:'
# print result[0]['fc2_weight'].asnumpy()

python showmxmodel.py 2>&1 | tee log.txt
result is
('stage3_unit2_bn1_beta', (256L,))
('stage3_unit2_bn3_beta', (256L,))
('stage3_unit11_bn1_gamma', (256L,))
('stage3_unit5_bn3_gamma', (256L,))
('stage3_unit3_conv1_weight', (256L, 256L, 3L, 3L))
('stage2_unit1_bn3_gamma', (128L,))
('stage3_unit4_conv1_weight', (256L, 256L, 3L, 3L))
('stage3_unit12_bn3_beta', (256L,))
('stage2_unit2_bn3_beta', (128L,))
('conv0_weight', (64L, 3L, 3L, 3L))
('stage3_unit11_relu1_gamma', (256L,))
('stage4_unit1_conv1sc_weight', (512L, 256L, 1L, 1L))
('stage3_unit1_conv1sc_weight', (256L, 128L, 1L, 1L))
('bn1_beta', (512L,))
('stage1_unit2_bn2_beta', (64L,))
('stage3_unit2_conv2_weight', (256L, 256L, 3L, 3L))
('stage1_unit2_conv1_weight', (64L, 64L, 3L, 3L))
('stage3_unit14_bn2_beta', (256L,))
('stage4_unit2_bn3_beta', (512L,))
('stage3_unit8_bn1_gamma', (256L,))
('stage3_unit7_bn1_gamma', (256L,))
('stage2_unit3_bn1_beta', (128L,))
('stage2_unit4_conv1_weight', (128L, 128L, 3L, 3L))
('stage3_unit2_bn2_gamma', (256L,))
('stage1_unit1_conv1_weight', (64L, 64L, 3L, 3L))
('stage3_unit9_conv2_weight', (256L, 256L, 3L, 3L))
('stage3_unit13_conv1_weight', (256L, 256L, 3L, 3L))
('stage3_unit1_relu1_gamma', (256L,))
('stage4_unit1_bn3_beta', (512L,))
('stage2_unit1_bn2_beta', (128L,))
('stage3_unit14_conv1_weight', (256L, 256L, 3L, 3L))
('stage3_unit8_bn1_beta', (256L,))
('stage3_unit11_conv1_weight', (256L, 256L, 3L, 3L))
('stage1_unit1_bn3_gamma', (64L,))
('stage2_unit2_conv2_weight', (128L, 128L, 3L, 3L))
('stage4_unit2_bn1_gamma', (512L,))
('stage3_unit3_bn1_gamma', (256L,))
('stage1_unit3_bn2_gamma', (64L,))
('stage1_unit3_bn3_gamma', (64L,))
('stage4_unit2_relu1_gamma', (512L,))
('stage3_unit10_conv2_weight', (256L, 256L, 3L, 3L))
('stage3_unit12_conv1_weight', (256L, 256L, 3L, 3L))
('stage3_unit2_relu1_gamma', (256L,))
('stage3_unit10_bn2_beta', (256L,))
('stage2_unit3_bn3_gamma', (128L,))
('stage2_unit3_bn2_beta', (128L,))
('stage3_unit8_bn3_beta', (256L,))
('fc1_gamma', (512L,))
('stage3_unit14_bn3_gamma', (256L,))
('stage3_unit9_bn3_gamma', (256L,))
('stage2_unit3_bn3_beta', (128L,))
('stage3_unit1_sc_gamma', (256L,))
('stage3_unit7_bn1_beta', (256L,))
('stage1_unit2_bn3_beta', (64L,))
('stage3_unit14_relu1_gamma', (256L,))
('stage3_unit13_bn2_beta', (256L,))
('stage2_unit1_conv1sc_weight', (128L, 64L, 1L, 1L))
('bn0_beta', (64L,))
('stage3_unit12_bn1_gamma', (256L,))
('stage2_unit1_sc_gamma', (128L,))
('relu0_gamma', (64L,))
('stage2_unit2_bn2_gamma', (128L,))
('stage3_unit4_relu1_gamma', (256L,))

Mxnet 查看模型params的网络结构的更多相关文章

  1. tensorflow 查看模型输入输出saved_model_cli show --dir ./xxxx --all

    saved_model_cli show --dir ./xxxxxxxx --all 可以查看模型的输入输出,比如使用tensorflow export_model_inference.py 输出的 ...

  2. 【tensorflow-v2.0】如何查看模型的输入输出流的属性

    操作过程: 1. 查看mobilenet的variables loaded = tf.saved_model.load('mobilenet') print('MobileNet has {} tra ...

  3. Tensorflow学习教程------模型参数和网络结构保存且载入,输入一张手写数字图片判断是几

    首先是模型参数和网络结构的保存 #coding:utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist impor ...

  4. 在3D Max中查看模型引用的贴图

    需求 假如在Max中有一个模型,想查看贴图 操作步骤 1.右上角点击 2.在弹出材质编辑器中 点击吸管 3.把吸管点击在角色模型上,然后点击M 4.点击查看图像 5.就能查看到模型使用的贴图

  5. pytorch查看模型weight与grad

    在用pdb debug的时候,有时候需要看一下特定layer的权重以及相应的梯度信息,如何查看呢? 1. 首先把你的模型打印出来,像这样 2. 然后观察到model下面有module的key,modu ...

  6. ROS学习笔记十一:创建URDF 文件并在RVIZ中查看模型

    Unified Robot Description Format,简称为URDF(标准化机器人描述格式),是一种用于描述机器人及其部分结构.关节.自由度等的XML格式文件. 一.创建第一个URDF文件 ...

  7. 【新人赛】阿里云恶意程序检测 -- 实践记录10.13 - Google Colab连接 / 数据简单查看 / 模型训练

    1. 比赛介绍 比赛地址:阿里云恶意程序检测新人赛 这个比赛和已结束的第三届阿里云安全算法挑战赛赛题类似,是一个开放的长期赛. 2. 前期准备 因为训练数据量比较大,本地CPU跑不起来,所以决定用Go ...

  8. mxnet 查看 Sym shape

    import mxnet as mximport numpy as npimport randomimport mxnet as mximport sysdata_shape = {'data':(6 ...

  9. keras API的使用,神经网络层,优化器,损失函数,查看模型层数,compile和fit训练

    layers介绍 Flatten和Dense介绍 优化器 损失函数 compile用法 第二个是onehot编码 模型训练 model.fit  两种创建模型的方法 from tensorflow.p ...

随机推荐

  1. Xcode6中添加pch文件

    转自:http://www.cnblogs.com/YouXianMing/p/3989155.html 1. 新建工程: 2. 创建pch文件: 3. 在setting里面进行设置: 4. 一切尽在 ...

  2. 机器学习算法实现解析——word2vec源代码解析

    在阅读本文之前,建议首先阅读"简单易学的机器学习算法--word2vec的算法原理"(眼下还没公布).掌握例如以下的几个概念: 什么是统计语言模型 神经概率语言模型的网络结构 CB ...

  3. tengine 的优化

    查服务器CPU的核数 : [root@c01 conf]# grep processor /proc/cpuinfo |wc -l 4 [root@c01 conf]# grep -c process ...

  4. dom4j: 生成的XML文件根节点 xmlns="" 的问题

    使用dom4j写入XML文件时,写入完毕后发现root element中没有 xmlns,也即是没有命名空间. 正确的写法如下: Document document = DocumentHelper. ...

  5. DataTable的初始化与事件注册

    TypeScript代码: let tabledata = data as any[]; if (this.dataTable) { this.dataTable.clear(); this.data ...

  6. linux命令(48):打乱一个文本文件的所有行

    如果用python读进内存再打乱的思路,如果大文件的话,就比较麻烦了 网上找到一个简单的方法,shuf: $ shuf --help 用法: shuf [选项]... [文件] 或者: shuf -e ...

  7. Django admin 常用方法 model 增加只读权限

    1.Django admin model 设置查看权限 Django model 默认只有增加.删除.修改权限.没有查看权限 #model class Ad_Campaing(models.Model ...

  8. 详解Android开发中Activity的四种launchMode

    Activity栈主要用于管理Activity的切换.当使用Intent跳转至某个目标Activity,需要根据目标Activity的加载模式来加载. Activity一共有以下四种launchMod ...

  9. vs2015利用python加载dll调试配置

    python调用dll相对而言比较方便,写个脚本调试轻松工作,快乐生活. python脚本 from ctypes import * import time # 脚本挂起 input() # load ...

  10. ORA-12541:TNS:无监听程序 配置Oracle Myeclipse无法连接上 花费一天时间解决掉的

    背景:自己机子做oracle服务器,其他机子可以ping得通我的机子,但是jdbc就是连不上,后来用plsql连出现无监听程序.... 我昨天重新安装Oracle后,用PL/SQL Developer ...