模型转换之【MXNet 转 ONNX】—— 笔记

本文介绍如何安装MXNet及其CUDA版本选择,并演示了将预训练的ResNet模型从MXNet转换为ONNX格式的过程。此外,还提供了验证转换后ONNX模型有效性的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0-0


MXNet 安装


0

nvcc --version 查看自己所使用的 Cuda 版本


nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:08:53_PST_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0


因此我的安装命令如下

 pip install mxnet-cu110
 # 或者
 pip install mxnet
 
pip install onnx

pip install onnxruntime

MXNet 转 ONNX


官方教程链接如下:

本博文做简单整理

import mxnet as mx
import numpy as np
from mxnet.contrib import onnx as onnx_mxnet


import logging
logging.basicConfig(level=logging.INFO)

# Download pre-trained resnet model - json and params by running following code.
# 这里也可以自己合并链接到浏览器手动下载 | 默认会下载到当前目录
path='http://data.mxnet.io/models/imagenet/'
[mx.test_utils.download(path+'resnet/18-layers/resnet-18-0000.params'),
 mx.test_utils.download(path+'resnet/18-layers/resnet-18-symbol.json'),
 mx.test_utils.download(path+'synset.txt')]


 # Downloaded input symbol and params files
sym = './resnet-18-symbol.json'
params = './resnet-18-0000.params'

# Standard Imagenet input - 3 channels, 224*224
input_shape = (1,3,224,224)

# Path of the output file
onnx_file = './mxnet_exported_resnet50.onnx'

# 模型转换已经封装很好了,一行命令即可
converted_model_path = onnx_mxnet.export_model(sym, params, [input_shape], np.float32, onnx_file)


from onnx import checker
import onnx


# Check validity of ONNX model 检查导出 onnx 的可用性
# Load onnx model
model_proto = onnx.load_model(converted_model_path)

# Check if converted ONNX protobuf is valid
checker.check_graph(model_proto.graph)

简单分析


MXNet 框架目前热度没那么高,不过官方的文档非常的清晰易懂,建议有兴趣自行查阅【好像有不少404】

9-8
9-6


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

墨理学AI

不必打赏,关注博主公众号即可

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

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

打赏作者

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

抵扣说明:

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

余额充值