3. 测试Docker镜像

运行命令进入Docker镜像:

docker run -t -i --privileged \
  -v /dev/bus/usb:/dev/bus/usb \
  -v /path/to/your/project:/examples \
  rknn-toolkit2:2.1.0-cp38 \
  /bin/bash

参数解释:

  1. docker run: 这是Docker的基本命令,用于创建和启动一个新的容器。
  2. -t: 分配一个伪终端(pseudo-TTY)。这允许你与容器进行交互,就像使用常规终端一样。
  3. -i: 保持STDIN打开,即使没有附加也一样。这与 -t 结合使用,让你能够交互式地使用容器。
  4. --privileged: 给予这个容器扩展权限。这通常用于访问主机的设备或执行需要额外权限的操作。在这种情况下,可能是为了访问USB设备。
  5. -v /dev/bus/usb:/dev/bus/usb: 这是一个卷挂载。它将主机的 /dev/bus/usb 目录挂载到容器内的相同路径。这允许容器访问主机的USB设备,这可能是RKNN工具包所必需的。
  6. -v /path/to/your/project:/examples: 另一个卷挂载。它将你的本地项目目录挂载到容器内的 /examples 目录。用户需要将 /path/to/your/project 替换为他们实际的项目路径。
  7. rknn-toolkit2:1.6.0-cp38: 这指定了要使用的Docker镜像。在这个例子中,它是RKNN工具包版本1.6.0,基于Python 3.8。
  8. /bin/bash: 这是容器启动后要执行的命令。在这种情况下,它会启动一个Bash shell,让你能够在容器内交互式地工作。

使用这个命令时,用户需要确保:

  1. 他们已经构建或拉取了指定的RKNN工具包Docker镜像。
  2. 他们有适当的权限来运行特权容器和访问USB设备。
  3. 他们将 /path/to/your/project 替换为他们实际的项目目录路径。

这个命令会启动一个交互式的Docker容器,其中包含RKNN工具包,并允许访问主机的USB设备和用户的项目文件。


随机进入到一个测试目录下,运行test.py

root@5e49c04223ab:/rknn-toolkit2-master# cd /rknn-toolkit2-master/rknn-toolkit2/examples/onnx/yolov5/
root@5e49c04223ab:/rknn-toolkit2-master/rknn-toolkit2/examples/onnx/yolov5# python test.py 

算法会进行模型转换,并预测示例图片:


D RKNN: [15:34:08.434] ----------------------------------------
D RKNN: [15:34:08.434] Total Internal Memory Size: 10337.5KB
D RKNN: [15:34:08.434] Total Weight Memory Size: 7128.62KB
D RKNN: [15:34:08.434] ----------------------------------------
D RKNN: [15:34:08.434] <<<<<<<< end: rknn::RKNNMemStatisticsPass
I rknn buiding done.
done
--> Export rknn model
done
--> Init runtime environment
I Target is None, use simulator!
done
--> Running model
I GraphPreparing : 100%|████████████████████████████████████████| 153/153 [00:00<00:00, 1661.70it/s]
I SessionPreparing : 100%|███████████████████████████████████████| 153/153 [00:00<00:00, 542.91it/s]
done
   class        score      xmin, ymin, xmax, ymax
--------------------------------------------------
   person       0.884     [ 208,  244,  286,  506]
   person       0.868     [ 478,  236,  559,  528]
   person       0.825     [ 110,  238,  230,  533]
   person       0.334     [  79,  353,  122,  517]
    bus         0.705     [  92,  128,  554,  467]
Save results to result.jpg!

你可能感兴趣的:(RKNN系列,RKNN,rknn-toolkit2)