我是靠谱客的博主 昏睡心情,这篇文章主要介绍Flask部署TensorRT问题解决(pycuda._driver.LogicError: explicit_context_dependent failed),现在分享给大家,希望可以做个参考。

问题描述:

今天使用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
2
import pycuda.driver as cuda import pycuda.autoinit

发现自己代码有加这两句的,还是有同样的错误。经过验证发现放在flask里面tensorRT推理就出现错误,要是模型推理不放在flask里来启动就没有错误。

经过大量的找资料和验证。。。发现是启动flask时的问题,要是启动flask使用debug=True就会出现错误,不使用debug就不会有错误。

 

解决办法:

直接去掉 debug=True,或者改为debug=False即可。

复制代码
1
socketio.run(app, host='127.0.0.1', port=12340, debug=True)

改为:

复制代码
1
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:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部