TensorRT – 转换onnx模型出现Slice_74 requires bool or uint8 I/O but node can not be handled by Myelin错误
1 Error Code 2: Internal Error (Slice_74 requires bool or uint8 I/O but node can not be handled by Myelin错误
1.1 问题
今天在用TensorRT转化onnx模型出现了以下错误
转换onnx模型出现Error Code 2: Internal Error (Slice_74 requires bool or uint8 I/O but node can not be handled by Myelin错误
这在https://forums.developer.nvidia.com/t/requires-bool-i-o-but-node-can-not-be-handled-by-myelin/212076 的官网论坛上也提及到了这个问题,主要原因是TensorRT的Slice层不支持bool型的输入
1.2 解决方法
下面两个地方也提到了相同的解决方案:
- https://forums.developer.nvidia.com/t/requires-bool-i-o-but-node-can-not-be-handled-by-myelin/212076
解决方案就是对onnx模型进行操作,在出问题的Slice
前后都插入cast节点进行数值类型转换,将输入到Slice
节点的数据从bool型转换为int32类型,执行完Slice
操作之后再接一个cast节点,从int32类型转换为bool类型。
至于添加cast节点,既可以使用onnx库也可以使用NVIDIA自己的Onnx GraphSurgeon库进行操作。
1.3 使用Onnx GraphSurgeon修改onnx模型,解决转换Slice的输入类型不能为Bool的转换错误
下面是可供参考的使用Onnx GraphSurgeon修改onnx模型,增加Cast节点的代码
(1)资源收集自互联网,仅供自我学习,请在下载后24小时内删除该资源,如下载者将此资源用于其他非法用途,本站不承担任何法律责任;如有侵权,请立即联系我,马上删除!
(2)下载单个资源则点击立即下载或者立即购买按钮;本站VIP可下载本站所有资源。
(3)请不要使用手机以及电脑浏览器的无痕模式进行支付操作,以免造成支付成功但未显示下载链接。
(4)如遇支付问题或者资源失效问题请点击按钮点击反馈进行反馈或者发送说明邮件到stubbornhuang@qq.com
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:TensorRT – 转换onnx模型出现Slice_74 requires bool or uint8 I/O but node can not be handled by Myelin错误
原文链接:https://www.stubbornhuang.com/2432/
发布于:2022年12月02日 16:36:35
修改于:2023年06月21日 17:47:33
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论
52