问题描述:
今天使用Flask搭建服务端进行模型推理,在使用TensorRT进行推理模型时出现如下错误:
line 39, in allocate_buffers
stream = cuda.Stream() # pycuda 操作缓冲区
pycuda._driver.LogicError: explicit_context_dependent failed: invalid device context - no currently active context?
网上查了,说是pycuda.driver没有初始化,导致无法得到context,然后采取以下解决办法:
1
2import pycuda.driver as cuda import pycuda.autoinit
发现自己代码有加这两句的,还是有同样的错误。经过验证发现放在flask里面tensorRT推理就出现错误,要是模型推理不放在flask里来启动就没有错误。
经过大量的找资料和验证。。。发现是启动flask时的问题,要是启动flask使用debug=True就会出现错误,不使用debug就不会有错误。
解决办法:
直接去掉 debug=True,或者改为debug=False即可。
1socketio.run(app, host='127.0.0.1', port=12340, debug=True)
改为:
1socketio.run(app, host='127.0.0.1', port=12340)
参考:
https://blog.csdn.net/weixin_42279044/article/details/102819670
最后
以上就是昏睡心情最近收集整理的关于Flask部署TensorRT问题解决(pycuda._driver.LogicError: explicit_context_dependent failed)的全部内容,更多相关Flask部署TensorRT问题解决(pycuda._driver.LogicError:内容请搜索靠谱客的其他文章。
发表评论 取消回复