Toybrick

关于rknn_camera_tiny_multiProcess.py

sanshin

注册会员

积分
125
发表于 2019-8-1 15:44:47    查看: 7550|回复: 2 | [复制链接]    打印 | 显示全部楼层
TB-RK1808S0的里面自代一个yolov3 sample,
里面有一个文件,rknn_camera_tiny_multiProcess.py
这个sample的代码里面
    p_infer1 = Process(target=infer_rknn, args=(q_image, q_infer, flag))
    p_infer2 = Process(target=infer_rknn, args=(q_image, q_infer, flag))
请问这个sample是什么sample?
是接2个TB-RK1808S0 stick的sample 吗?
   如果是的怎么设定2个device ID?
def load_model()函数里面没有设定的参考代码。能不能提供?
        ret = rknn.init_runtime(target='rk1808', target_sub_class='AICS')   
    ( target_sub_class='AICS'是什么意思?)
如果仅仅接一个TB-RK1808S0的话,请问为什么要infer1和infer2两个process?

回复

使用道具 举报

sanshin

注册会员

积分
125
 楼主| 发表于 2019-8-1 16:27:21 | 显示全部楼层
hisping 发表于 2019-8-1 15:50
这个是接1个计算棒的,多线程跑的目的是让cpu npu并行运行,target_sub_class='AICS'是告诉rknn-toolkit调 ...

谢谢,请问下面2个线程,哪个是cpu运行的?不是需要设定target吗?
p_infer1 = Process(target=infer_rknn, args=(q_image, q_infer, flag))
p_infer2 = Process(target=infer_rknn, args=(q_image, q_infer, flag))

另外,我们改了代码,同时接了2个TB-RK1808S0, 可以运行了,
但是不知道2个1808是否都在动,请问下面代码是否可以驱动2个1808?
(不知道怎么上传代码,只好贴在这里)
def infer_rknn_1(q_imageueue, q_inferueue, flag):
def infer_rknn_2(q_imageueue, q_inferueue, flag):
使用同一个相机(image = q_image.get()是一样的),
    p_infer1 = Process(target=infer_rknn_1, args=(q_image, q_infer, flag))
    p_infer2 = Process(target=infer_rknn_2, args=(q_image, q_infer, flag))
    p_infer1.start()
    p_infer2.start()
    p_infer1.terminate()
    p_infer2.terminate()
仅仅是代码修改部分。

怎么上传代码?
回复

使用道具 举报

bobby_jiang

高级会员

积分
544
发表于 2019-8-2 10:25:12 | 显示全部楼层
npu_transfer_proxy devices可以查看device id
文档里面有介绍
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表