使用mmdnn将MXNET转成Tensorflow模型

参考:https://www.twblogs.net/a/5ca4cadbbd9eee5b1a0713af

写这篇笔记的初衷是因为需要将Insightface的MXNET模型转成Tensorflow,而mmdnn上提供的mmconvert命令却没有成功(估计是哪里用错了),故而找其他的文章来实现相同的功能。

准备mmdnn环境

因为需要将mxnet转成tensorflow,所以,需要在python的虚拟环境中安装这两个框架,另外,建议使用最新的mmdnn,修复了一下bug。

pip install -U git+https://github.com/Microsoft/MMdnn.git@master
pip install mmdnn
pip install tensorflow==1.13.1

将mxnet模型转成IR模型

下面的参数中–inputShape很重要,insightface的输入图像的shape就是[3,112,112]

python -m mmdnn.conversion._script.convertToIR -f mxnet -n model-symbol.json -w model-0000.params -d r100 --inputShape 3,112,112

下面就是生成的IR模型
在这里插入图片描述

由IR模型生成code

python -m mmdnn.conversion._script.IRToCode -f tensorflow --IRModelPath r100.pb --IRWeightPath r100.npy --dstModelPath tf_r100.py

使用上面的命令,可以生成一个tf_r100.py,其中,KitModel函数加载npy权重参数重新生成原网络框架。

生成PB文件

基于r100.npy和tf_r100.py文​​件,固化参数,生成PB文件。

import argparse
import tensorflow as tf
import tf_r100 as tf_fun # modify by yourself

def Network(ir_model_file):
    model = tf_fun.KitModel(ir_model_file)
    return model

def 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用mxnet将自己的数据集图片做成mnist数据集,可以按照以下步骤进行: 1. 准备自己的数据集,包括图片以及对应的标签信息。图片应该是灰度图,且尺寸应该是28x28。 2. 安装mxnet,并导入必要的模块: ```python import mxnet as mx import numpy as np import os ``` 3. 定义一个函数来加载图片和标签数据: ```python def load_data(path): with open(os.path.join(path, 'data.npy'), 'rb') as f: data = np.load(f) with open(os.path.join(path, 'label.npy'), 'rb') as f: label = np.load(f) return data, label ``` 4. 定义一个函数来将图片和标签数据换为mxnet的数据格式: ```python def transform(data, label): return mx.nd.array(data), mx.nd.array(label) ``` 5. 加载自己的数据集,并将其换为mxnet的数据格式: ```python data, label = load_data('path/to/your/dataset') data, label = transform(data, label) ``` 6. 加载mnist数据集,并将其换为mxnet的数据格式: ```python train_data = mx.gluon.data.vision.MNIST(train=True) test_data = mx.gluon.data.vision.MNIST(train=False) train_data = train_data.transform_first(transform) test_data = test_data.transform_first(transform) ``` 7. 将自己的数据集与mnist数据集合并: ```python train_data = mx.gluon.data.ConcatenatedDataset(train_data, mx.gluon.data.ArrayDataset(data, label)) ``` 8. 最后,可以像使用mnist数据集一样使用合并后的数据集来训练模型。 以上就是使用mxnet将自己的数据集图片做成mnist数据集的步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值