Skip to content
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

关于多模型处理问题 #65

Open
zilong69 opened this issue Dec 16, 2024 · 18 comments
Open

关于多模型处理问题 #65

zilong69 opened this issue Dec 16, 2024 · 18 comments

Comments

@zilong69
Copy link

请问,我现在有多路流,比如四路,我想将这四路流应用于多个模型上(四个模型),该如何设计pipeline

@Yi-sir
Copy link

Yi-sir commented Dec 16, 2024

说的是四个模型串起来,还是四路流用四个不同的模型?

@zilong69
Copy link
Author

说的是四个模型串起来,还是四路流用四个不同的模型?
四路使用四个不同的模型,或者四路并行使用两个模型

@Yi-sir
Copy link

Yi-sir commented Dec 16, 2024

四路使用四个不同的模型,那可以考虑用多graph,或者直接开四个进程。

四路并行使用两个模型又怎么理解呢...是指每一路只有一个算法,四路流总共使用了两个算法?

@zilong69
Copy link
Author

四路使用四个不同的模型,那可以考虑用多graph,或者直接开四个进程。

四路并行使用两个模型又怎么理解呢...是指每一路只有一个算法,四路流总共使用了两个算法?
两路用一个模型,另外两路用另一个模型,在程序启动时可以自定义pipeline

@Yi-sir
Copy link

Yi-sir commented Dec 17, 2024

那和四路用四个不同的模型是一样的

四路使用四个不同的模型,那可以考虑用多graph,或者直接开四个进程。

四路并行使用两个模型又怎么理解呢...是指每一路只有一个算法,四路流总共使用了两个算法?

@zilong69
Copy link
Author

那和四路用四个不同的模型是一样的

四路使用四个不同的模型,那可以考虑用多graph,或者直接开四个进程。
四路并行使用两个模型又怎么理解呢...是指每一路只有一个算法,四路流总共使用了两个算法?

好的,多谢,请问咱这边有这样的示例嘛

@Yi-sir
Copy link

Yi-sir commented Dec 17, 2024

多graph参考 samples/multi_graph ,不过这个功能对encode等element支持情况不一定很好,可以试用然后给我们提issue。多进程就是字面意思开多个进程对应多组配置文件,运行可执行文件时输入不同的参数就可以了。

@zilong69
Copy link
Author

多graph参考 samples/multi_graph ,不过这个功能对encode等element支持情况不一定很好,可以试用然后给我们提issue。多进程就是字面意思开多个进程对应多组配置文件,运行可执行文件时输入不同的参数就可以了。
一个摄像机想做跑两个算法,这个时候是取一路流,分发在两个模型上并行,还是取两路流,创建两个两个进程呢

@Yi-sir
Copy link

Yi-sir commented Dec 17, 2024

两个element前后串联不行吗

@zilong69
Copy link
Author

两个element前后串联不行吗
两个模型可以前后串联,如果有三个四个模型,前后串联效率会不会低于并联呢

@Yi-sir
Copy link

Yi-sir commented Dec 18, 2024

模型推理对于tpu来说是串行的,这部分不会有损失。对于单帧数据来说,多element串联意味着后处理串行做,时延会上升。但对于多帧数据来说,不同帧的后处理是并行的,所以吞吐应该没有变化。

@zilong69
Copy link
Author

模型推理对于tpu来说是串行的,这部分不会有损失。对于单帧数据来说,多element串联意味着后处理串行做,时延会上升。但对于多帧数据来说,不同帧的后处理是并行的,所以吞吐应该没有变化。

好的,多谢,请问一下,sophon-stream中decode解码方式是软件还是硬件,我处理了三路实时流,发现cpu占用率高达170%

@zilong69
Copy link
Author

模型推理对于tpu来说是串行的,这部分不会有损失。对于单帧数据来说,多element串联意味着后处理串行做,时延会上升。但对于多帧数据来说,不同帧的后处理是并行的,所以吞吐应该没有变化。

好的,多谢,请问一下,sophon-stream中decode解码方式是软件还是硬件,我处理了三路实时流,发现cpu占用率高达170%

我的设备是BM1684

@Yi-sir
Copy link

Yi-sir commented Dec 19, 2024

对于码流,如果是264或265编码,是硬件解码。其余情况是软件

@zilong69
Copy link
Author

对于码流,如果是264或265编码,是硬件解码。其余情况是软件
硬件解码的情况下,为什么cpu占用率那么高啊,感觉不大正常

@Yi-sir
Copy link

Yi-sir commented Dec 19, 2024

确定只有解码吗?“处理”是什么意思?是不是带了算法?

如果怀疑cpu占用率是解码造成的,可以用ffmpeg测一下

@zilong69
Copy link
Author

确定只有解码吗?“处理”是什么意思?是不是带了算法?

如果怀疑cpu占用率是解码造成的,可以用ffmpeg测一下

好的,带了算法,算法不用cpu吧

@Yi-sir
Copy link

Yi-sir commented Dec 19, 2024

后处理用cpu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants