Visible to Intel only — GUID: zqd1678993628076
Ixiasoft
Visible to Intel only — GUID: zqd1678993628076
Ixiasoft
8.4.2. The image_streaming_app Application
The image_streaming_app application loads images from the SD card, programs the layout transform IP, and then transfers the buffers via a streaming mSGDMA interface to the device. The buffers are sent at regular intervals at a frequency set by one of the command line options. Buffers are continually sent until the program is stopped with Ctrl+C.
The image_streaming_app application works only with .bmp files with dimensions of 224x224 pixels. The .bmp files can be either 24 or 32 bits per pixel format. If they are 24 bits, the buffers are padded to make them 32 bits per pixel. This format is expected by the input of the layout transform IP .
root@agilex7:~/app# ./image_streaming_app --help Usage: image_streaming_app [Options] Options: -images_folder=folder Location of bitmap files. Defaults to working folder. -image=path Location of a single bitmap file for single inference. -send=n Number of images to stream. Default is 1 if -image is set, otherwise infinite. -rate=n Rate to stream images, in Hz. n is an integer. Default is 30. -width=n Image width in pixels, default = 224 -height=n Image height in pixels, default = 224 -c_vector=n C vector size, default = 32 -blue_variance=n Blue variance, default = 1.0 -green_variance=n Green variance, default = 1.0 -red_variance=n Red variance, default = 1.0 -blue_shift=n Blue shift, default = -103.94 -green_shift=n Green shift, default -116.78 -red_shift=n Red shift, default = -123.68
The distribution includes a shell script utility called run_image_stream.sh that calls the image_streaming_app command with a rate of 50 Hz and default layout transform settings.
Once both applications are running, the streaming_inference_app application outputs the results to the terminal and a results.txt file.
root@agilex7:~/app# ./run_inference_stream.sh Runtime version check is enabled. [ INFO ] Architecture used to compile the imported model: AGX7_Performance Using licensed IP Read hash from bitstream ROM... Read build version string from bitstream ROM... Read arch name string from bitstream ROM... Runtime arch check is enabled. Check started... Runtime arch check passed. Runtime build version check is enabled. Check started... Runtime build version check passed. Ready to start image input stream. 1 - class ID 776, score = 58.4 2 - class ID 968, score = 90.7 3 - class ID 769, score = 97.8 4 - class ID 769, score = 97.8 5 - class ID 872, score = 99.8 6 - class ID 954, score = 94.4 7 - class ID 954, score = 94.4 8 - class ID 776, score = 58.4 9 - class ID 872, score = 99.8 10 - class ID 968, score = 90.7 11 - class ID 776, score = 58.4 12 - class ID 968, score = 90.7 13 - class ID 769, score = 97.8 14 - class ID 769, score = 97.8 15 - class ID 872, score = 99.8 16 - class ID 954, score = 94.4 17 - class ID 954, score = 94.4 18 - class ID 776, score = 58.4 19 - class ID 872, score = 99.8 20 - class ID 968, score = 90.7 ^C Ctrl+C detected. Shutting down application
root@agilex7:~/app# cat results.txt Result: image[1] 1. class ID 776, score = 58.4 2. class ID 683, score = 27.6 3. class ID 513, score = 10.2 4. class ID 432, score = 1.8 5. class ID 558, score = 1.6 Result: image[2] 1. class ID 968, score = 90.7 2. class ID 901, score = 1.1 3. class ID 868, score = 1.0 4. class ID 899, score = 1.0 5. class ID 725, score = 0.9 Result: image[3] 1. class ID 769, score = 97.8 2. class ID 845, score = 0.5 3. class ID 587, score = 0.4 4. class ID 798, score = 0.1 5. class ID 618, score = 0.1 Result: image[4] 1. class ID 769, score = 97.8 2. class ID 845, score = 0.5 3. class ID 587, score = 0.4 4. class ID 798, score = 0.1 5. class ID 618, score = 0.1