onnx转tensorrt engine时发生错误[virtualMemoryBuffer.cpp::resizePhysical::140] Error Code 2: OutOfMemory的原因
·
近期转换一个参数带动态维度的多模型态模型,onnx转换engine过程中总是报错[virtualMemoryBuffer.cpp::resizePhysical::140] Error Code 2: OutOfMemory,不过最终plan文件生成了,调整workspacesize参数和buildflag之类的设置完全不起作用,开始以为是多模态模型内部的结构比较庞大导致的内存不够,去分拆模型定位发现即使分拆成多个小模型,其中带动态维度的模型还是在转换时报内存不够的错误,折腾了一些时间后回头仔细检查代码,感觉maxShapes的上限维度值可能设置大了,试着把其中一个维度值90000减小到60000,然后再转换就不报错了!
看来动态维度的上限范围不能随便设置得太大,差不多够用就行了,记录一下以免将来再次跌进这个坑里。
更多推荐


所有评论(0)