现在的问题是我的项目使用了compreface,compreface调用了insightface的旧版本,现在insightface有了新版本,如果我的项目要升级的话,就要将compreface调用新版本的insightface,即将.onnx转换为compreface习惯的mxnet,或者直接对compreface做大改动,让compreface基于onnx推理。但是我的水平太低了,好难呀
3条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
在将ONNX模型转换为MXNet格式时,你遇到了键值错误(key=547),这通常意味着在转换过程中存在某些层或操作不兼容的问题。为了解决这个问题,你可以尝试使用官方提供的工具——
mxnet-onnx
,它是用于ONNX和MXNet模型之间互转的库。以下是一个基本的步骤来尝试转换:
import mxnet as mx from mxnet.contrib import onnx as onnx_mxnet # 加载ONNX模型 onnx_model = onnx.load('your_model.onnx') # 将ONNX模型转换为MXNet symbolic graph sym, arg_params, aux_params = onnx_mxnet.import_model(onnx_model) # 创建一个MXNet模块 mod = mx.mod.Module(symbol=sym, context=mx.cpu(), data_names=['data'], label_names=None) # 尝试绑定参数以检查是否有任何不兼容的层 mod.bind(for_training=False, data_shapes=[('data', (1, input_shape))]) # 如果上述步骤没有报错,则可以继续保存MXNet模型 save_dict = {('arg:%s' % k): v for k, v in arg_params.items()} save_dict.update({('aux:%s' % k): v for k, v in aux_params.items()}) mx.model.save_checkpoint('your_model_mxnet', 0, sym, save_dict)
请注意替换
'your_model.onnx'
为你的ONNX模型路径,并根据实际情况设置input_shape
。如果在转换或绑定参数阶段遇到特定错误,例如“key=547”的问题,可能需要检查该键所对应的层是否在MXNet中得到支持。对于不支持的层,你可能需要手动实现对应的MXNet层或者联系InsightFace社区寻求帮助,看看是否有针对新版本模型转换的解决方案或补丁。此外,请确保安装了最新版本的MXNet以及
mxnet-onnx
库:pip install --upgrade mxnet onnx-mxnet
如果出现具体错误代码或详细信息,请提供以便进一步分析并针对性地解决问题。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 c51单片机控制步进电机
- ¥20 Visual studio无法检测到设备
- ¥15 为什么我通过html绘制的SVG折线图插入到word中坐标轴不显示出来
- ¥30 vue 页面窗口放大或者缩小元素会变化
- ¥15 questasim仿真报错
- ¥15 寻找电脑攻防的导师,有问题请教一下。
- ¥20 微信同是win11,我的电脑安装不了pageoffice,一直无法打开
- ¥15 这个界面我通过postman请求不到,但是通过浏览器可以正常访问
- ¥15 多目标优化算法在与其他算法数据对比结果判断
- ¥15 CPTN和EAST,主干网络是VGG16,请问在ICDAR2015数据集上训练之后,CPTN和EAST模型的大小为多少