Toybrick

标题: 关于rknn_camera_tiny_multiProcess.py [打印本页]

作者: sanshin    时间: 2019-8-1 15:44
标题: 关于rknn_camera_tiny_multiProcess.py
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    时间: 2019-8-1 16:27
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    时间: 2019-8-2 10:25
npu_transfer_proxy devices可以查看device id
文档里面有介绍




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