Vitis AI 运行时包和 Vitis AI Library 样本与模型都已编译到预构建的 Vitis AI 开发板镜像中。您可直接运行示例。如有新程序,请在主机侧对其进行编译并将可执行程序复制到目标。
- 使用
scp
命令将 vitis_ai_library_r3.5.0_images.tar.gz 和 vitis_ai_library_r3.5.0_video.tar.gz 从主机复制到目标,如下所示:[Host]$scp vitis_ai_library_r3.5.0_images.tar.gz root@IP_OF_BOARD:~/ [Host]$scp vitis_ai_library_r3.5.0_video.tar.gz root@IP_OF_BOARD:~/
- 在目标上解压镜像和视频程序包。
cd ~ tar -xzvf vitis_ai_library_r3.5*_images.tar.gz -C Vitis-AI/examples/vai_library tar -xzvf vitis_ai_library_r3.5*_video.tar.gz -C Vitis-AI/examples/vai_library
- 进入目标开发板上示例的解压后目录,然后编译示例。以 classification 为例。
cd ~/Vitis-AI/examples/vai_library/samples/classification
- 运行示例。
./test_jpeg_classification resnet50_pt sample_classification.jpg
注释: 它支持批处理模式。如果 DPU 批次数大于 1,也可运行以下命令。./test_jpeg_classification resnet50_pt <img1_url> [<img2_url> ...]
- 查看运行结果。
有两种方法可用于查看结果:一种方法是通过打印信息来查看结果。另一种方法是通过下载 0_sample_classification_result.jpg 图像来查看结果。
- 要运行视频示例,请运行以下命令:
./test_video_classification resnet50_pt video_input.webm -t 8
其中,video_input.webm 与输入的视频文件名相同,
-t
即线程数。您必须自行准备视频。注释:- 预构建的 Vitis AI 开发板镜像仅支持
webm
或raw
格式的视频文件输入。如果要使用的视频文件格式与原生支持的格式不同,则必须在目标上安装相关程序包,例如,ffmpeg 程序包。 - 如果使用显示器作为处理后的视频的宿端,那么性能将受到目标上的显示接口所支持的最大帧率的限制。这可能无法反映最大性能,如果您已启用多线程来对最大帧率进行基准测试,那么知晓这一事实就尤为重要。但您可发出以下命令来测试 Vitis AI Library 的最大推断性能:
env DISPLAY=:0.0 DEBUG_DEMO=1 ./test_video_classification \ resnet50_pt 'multifilesrc location=~/video_input.webm \ ! decodebin ! videoconvert ! appsink sync=false' -t 2
- 预构建的 Vitis AI 开发板镜像仅支持
- 要以 USB 摄像头作为输入来测试程序,请运行以下命令:
./test_video_classification resnet50_pt 0 -t 4
此处 0 是首个 USB 摄像头器件节点。如有多个 USB 摄像头,则该值为 1、2、3 以此类推,其中
-t
表示线程数。重要: 由于 test_video 示例需要 Linux 窗口子系统目标才能正常工作,使用 SSH 终端登录开发板时,请使用以下命令启用 X11 前传(在此示例中假设主机 IP 地址为 192.168.0.10)。export DISPLAY=192.168.0.10:0.0
- 要测试模型性能,请运行以下命令:
./test_performance_classification resnet50_pt test_performance_classification.list -t 8 -s 60
此处,
-t
是线程数,-s
是秒数。要查看可执行文件的命令行选项的完整列表,请搭配 '
-h
' 开关来运行该命令。 - 要运行演示,请参阅 应用演示。