Toybrick

标题: error I/O operation on closed file [打印本页]

作者: xiaqing10    时间: 2019-12-10 16:32
标题: error I/O operation on closed file
用的是python3接口,rk3399pro的环境. rknn的版本试了0.99 1.0 1.2,发现总会时不时的出现这个报错,然后无法推断.

这个错误是偶然性事件,可能几天,可能几个小时,可能几分钟,请问是什么错呢?

我的测试代码中加载了好几个模型,请问是否会和模型的数量相关(用了yolo , mtcnn , reid , openpose)



作者: jefferyzhang    时间: 2019-12-10 17:19
这你代码有问题吧,哪个handle被释放掉了。自己代码检查下跟踪下。
我们客户最多一个板子跑了6个模型,现在都量产了都没问题。。。
作者: xiaqing10    时间: 2019-12-11 11:23
jefferyzhang 发表于 2019-12-10 17:19
这你代码有问题吧,哪个handle被释放掉了。自己代码检查下跟踪下。
我们客户最多一个板子跑了6个模型,现在 ...

python3 接口的有可能将rknn handle会自动释放么?
用c++没有问题, python挂的日志显示在rknn.inference()中,每次日志显示线程中都是挂的这句。
作者: xiaqing10    时间: 2019-12-11 11:31
jefferyzhang 发表于 2019-12-10 17:19
这你代码有问题吧,哪个handle被释放掉了。自己代码检查下跟踪下。
我们客户最多一个板子跑了6个模型,现在 ...

这样吧,我再测试下。 看是否是多线程引起的原因。
只是日志信息没有太多提示,只有这句。
多谢~
作者: jefferyzhang    时间: 2019-12-11 11:34
xiaqing10 发表于 2019-12-11 11:31
这样吧,我再测试下。 看是否是多线程引起的原因。
只是日志信息没有太多提示,只有这句。
多谢~ ...

嗯,用python的调试手段多调试下
作者: xiaqing10    时间: 2019-12-20 15:54
jefferyzhang 发表于 2019-12-11 11:34
嗯,用python的调试手段多调试下

如果python 代码中从来没有调用rknn.release() 那么按道理讲,这个handler是不会释放的对吧?
然后我再次跑了代码两次. 一次跑了1天后挂了,  1次两小时后挂了,都是self.rknn.inference(...)挂了,日志显示出错的还是error I/O operation on closed file.
感觉调试无从下手啊
作者: jefferyzhang    时间: 2019-12-20 15:58
xiaqing10 发表于 2019-12-20 15:54
如果python 代码中从来没有调用rknn.release() 那么按道理讲,这个handler是不会释放的对吧?
然后我再次跑 ...

这个还真是奇怪,我们这烤鸡4天都还没挂过。
rknn release是最后才做的,你做不做都不会在运行时候挂,运行时rknn都不可能去释放




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3