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