-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于模型加载的一些问题 #63
Comments
好像看不出原因,resnet单独编一个so是改了啥呢,element的结构还在吗?还是说so里只包含load模型和推理的功能? bm_dev_request没拿到返回值挺奇怪的,这个时候yolov8还正常吗?这个是bmlib的底层接口了,有什么报错的log吗? |
也许可以把“通过trackId控制图片的输入”这部分详细描述下,我们看下怎样修改pipeline更合适 |
就是基于sophgo_demo项目里面的Resnet代码,build了一个so, 只包含了load模型和推理的功能。没有element的结构了,yolov8还是使用element框架中的load方式,是正常的。 |
bm_dev_request 没有打印错误日志,在我上面说的的流程1的时候,会返回一个1,流程2的时候就没有返回,挺奇怪的,我先以为handle 创建失败了,但是我看模型加载(bmContext->network(0))到是将 ######################## 源码: } |
可以这样:resnet还是用stream里面的element形式,在bytetrack后面加一个element用来过滤trackId,如果框里的id是见过的,就把框删掉/直接不向后传递。这样resnet拿到的数据就少了很多 |
bm_dev_request正常应该返回0吧..就是BM_SUCCESS那个enum。返回1好像也不对。 |
对,是0,昨天说错了。这是正常模型加载返回日志: ######################## get input 加上yolov8模型加载后,再初始化resnet: ######################## get input 中间这个BMNNHandle init |
我明白您的意思,这也是一种解决方法,只是觉得使用so的方式会更灵活点。 |
@Yi-sir 您好,这个问题是否可以帮忙跟底层SDK研发确认下,我们也遇到了一样的问题,现在整体项目就卡在这个地方 |
麻烦具体描述一下问题? |
就是前面yuhan159描述的,我们需要再stream框架中已用ResNet50的so库,进行灵活的调用 |
前面的log没看懂,为什么
这段打印没了? 然后,看到报错是段错误,这种情况建议先gdb一下。感觉根本原因不像是bm_dev_request的问题,而是代码组织上的问题。 此外,如果确定是bm_dev_request的问题,不妨组织一个最小复现case。如果这个api有问题的话那应该和stream框架也没关系。 最后,如果紧急,建议联系一下商务同事来处理。在github上主要是面向大部分用户解决普遍性的问题,这里定制化的问题在github上解决,效率不高。 |
我们现在的流程是从decode-yolov8-bytetrack-distributor-resnet-converger->process(业务处理)的一个流程,但是发现这种流程对tpu的使用率挺高的。然后我们将resnet单独提取出来build成一个so,在process中加载它,打算通过trackId来控制图片的输入,但是在模型加载上碰到了一些问题:
流程1: decode->process(加载resnet模型)->encode,可行
流程2:decode->yolov8->bytetrack->process(加载resnet模型)->encode,出错了
通过日志定位,发现在 BMNNHandlePtr handle = make_shared(dev_id);时,并没有成功(bm_dev_request没有获取到返回值),而后面的make_shared(handle, bmodel_file.c_str());到是读取了模型,请问这种情况会是啥原因?
The text was updated successfully, but these errors were encountered: