def get_specify_mod(model_str,ctx,data_shpae,layer_name):_vec = model_str.split(",")prefix = _vec[0]epoch = int(_vec[1])sym,arg_params,aux_params = mx.model.load_checkpoint(prefix,epoch)#获取神经网络所有的层all_layers = sym.get_internals()#获取输出层sym = all_layers[layer_name+"_output"]mod = mx.mod.Module(symbol=sym,context=ctx)mod.bind(data_shapes=[("data",data_shpae)])mod.set_params(arg_params,aux_params)return mod

保存部分模型ok了,准确度也是ok的。


import mxnet as mx
import numpy as np
import sys
import os
import argparse
import onnxprint('mxnet version:', mx.__version__)
print('onnx version:', onnx.__version__)from mxnet.contrib import onnx as onnx_mxnetfrom onnx import checkerinput_shape = (1,3,112,112)a_sym, arg_params, aux_params = mx.model.load_checkpoint("./model", 13)all_layers = a_sym.get_internals()all_layers=model.symbol.get_internals()param_key=all_layers.list_outputs()_sym=all_layers["pre_fc1_output"]model=mx.mod.Module(symbol=_sym,context=[mx.cpu()])
model.bind(data_shapes=[("data", (1, 3, 112, 112))])model.params_initialized=True
_arg_params, _aux_params=model.get_params()
arg_params_new=dict()
aux_params_new=dict()
for key in _arg_params.keys():# key1=replace_key(key)arg_params_new[key]=arg_params[key]
for key in _aux_params.keys():# key1=replace_key(key)aux_params_new[key]=aux_params[key]model.set_params(arg_params_new,aux_params_new,allow_missing=True)
model.save_checkpoint("55_jz",0)

前几层用的是vgg中的前10层,所以需要用到pretrained vgg中的前几层来initialize我的模型。

mxnet中有什么好的办法能像这样只给模型中的部分layer进行load吗?目前我看到的load_parameters()好像是指load整个模型

net[0:10].load_parameters( vgg_para_file_name, allow_missing=True, ignore_extra=True)
这样?

或者直接net.load_parameters( vgg_para_file_name, allow_missing=True, ignore_extra=True)不行吗?

因为改了网络,除了前10层能匹配上,后面都匹配不上,mxnet自动就初始化匹配上的那10层了

mxnet加载保存部分参数相关推荐

  1. mxnet加载模型的params和json文件来预测

    导读 有时候我们在使用别人的mxnet预训练模型时,会有两个文件params和json文件,其中params文件中包含的是模型的网络参数,json文件包含的是网络的结构.这里我们以ImageNet的预 ...

  2. Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战

    Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战 目录 Pandas将dataframe保存为pickle文件并加载保存后的pickl ...

  3. spark SQL(三)数据源 Data Source----通用的数据 加载/保存功能

    Spark SQL 的数据源------通用的数据 加载/保存功能 Spark SQL支持通过DataFrame接口在各种数据源上进行操作.DataFrame可以使用关系变换进行操作,也可以用来创建临 ...

  4. QWebEngineView 加载 flash插件参数配置

    QWebEngineView 加载 flash插件参数配置 官网 http://doc.qt.io/qt-5/qtwebengine-features.html Qt WebEngine 特性 主要看 ...

  5. 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

    目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...

  6. mxnet加载预训练

    关乎symbol和module的一些基本属性 # 查看json每一个op的属性:kernel size.padding.stride等 sym.attr_dict() # 返回一个字典,根据key获取 ...

  7. Tensorflow 4. 训练过程,服务器宕机了一次,服务器重启之后加载保存的model.ckpt报错?

      问题原因:根据代码中设置的tf.train.Saver(max_to_keep=?),原因是最新一次写入model.ckpt的参数没有写完,此时服务器宕机,因此在重新加载model.ckpt时会报 ...

  8. 使用PyTorch加载模型部分参数方法

    前言 在深度学习领域,经常需要使用其他人已训练好的模型进行改进或微调,这个时候我们通常会希望加载预训练模型文件的参数,如果网络结构不变,只需要使用load_state_dict方法即可.而当我们改动网 ...

  9. 加载/保存 .pt 文件

    .pt类型的扩展文件常用来保存张量: 加载文件 import torch# Accuracy # Accuracy = torch.load('path') Accuracy = torch.load ...

最新文章

  1. day1作业(格式化输出)
  2. 21Iterator(迭代器)模式
  3. Frogger--POJ 2253
  4. Java String,StringBuilder和StringBuffer的区别 StringBuilder StringBuffer String
  5. bread是可数还是不可数_小学英语语法名词 不可数名词详解
  6. 启明云端用一张表格带你了解sigmastar SSD20x系列的区别!帮助你快速完成选型!
  7. 误删/etc/passwd的修复
  8. java websocket netty_基于netty实现的websocket
  9. mysql shell 所有表_删除mysql数据库中所有表的shell脚本
  10. iPhone 14系列贴膜曝光:将采用开孔屏方案 四边框极窄
  11. mysql怎么分组计算逾期率_转行数据分析第三篇:mysql查询入门练习题
  12. 人工智能在财富领域的应用与探索
  13. 服务器跳过系统自检,win7 64位旗舰版跳过开机自检功能直接进入系统的方法
  14. python如何用色度表示数值大小_Python人体肤色检测
  15. PDF文件格式转换工具 迅捷PDF转换成Word转换器
  16. ie9 java小程序设置_小程序 自定义导航栏
  17. 《算法图解》学习笔记(七):狄克斯特拉算法(附代码)
  18. linux电脑接电视,Ubuntu下如何给通过HDMI连接电视机的计算机强制设置1920*1080分辨率...
  19. Z05 - 006、网站转化以及漏斗分析(转化分析)
  20. 外强中干? -- 中国制造业的软肋(转载)

热门文章

  1. Win7 64位的SSDTHOOK(1)---SSDT表的寻找
  2. 解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离
  3. android邮件系统开发的基础知识
  4. Android开发--初探SQLiteDataBase/数据库的创建,更新,插入,查询
  5. Controller节点无法启动neutron-server
  6. KVM 实现机制---(很經典)
  7. 金陵科技学院c语言测试,金陵科技学院C语言实验册.doc
  8. mysql like reverse_mysql 优化like查询
  9. android 使用perl语言,在Android上用python(Perl、Lua、BeanShell等)编程
  10. 计算机科学环境保护,CMU-如何利用计算机科学、机器学习和人工智能保护环境.pdf...