概述
问题描述:
今天使用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,然后采取以下解决办法:
import pycuda.driver as cuda
import pycuda.autoinit
发现自己代码有加这两句的,还是有同样的错误。经过验证发现放在flask里面tensorRT推理就出现错误,要是模型推理不放在flask里来启动就没有错误。
经过大量的找资料和验证。。。发现是启动flask时的问题,要是启动flask使用debug=True就会出现错误,不使用debug就不会有错误。
解决办法:
直接去掉 debug=True,或者改为debug=False即可。
socketio.run(app, host='127.0.0.1', port=12340, debug=True)
改为:
socketio.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: explicit_context_dependent failed)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复