PYNQ: PYTHON PRODUCTIVITY

DPU Compiled Yolov3 Model output channel 255

I am currently trying to call my for the DPU compiled Yolov3 Model but have problems with it.
I’ve managed to successfully use the darknet2caffe workflow to compile the Yolov3 Model for the DPU.
However the compiled model differs that from Xilinx provided model (it is a TensorFlow Model with a different output channel size):
In the repo DPU-PYNQ they have 3 output nodes:
conv2d_59_convolution(0) : 13x13x75
conv2d_67_convolution(0) : 26x26x75
conv2d_75_convolution(0) : 52x52x75

But my output channel sizes are:
layer81_conv(0) : 13x13x255
layer93_conv(0) : 26x26x255
layer105_conv(0) : 52x52x255

I am not sure why Xilinx Model has the the 75 instead of the 255, because the 255 matches the orignal Model. The problem that the difference output channel size is rising an error in the tf_yolov3_voc.py and I’ve lack the knowledge what to change in the tf_yolov3_voc.py to get the correct bounding boxes.
Did somebody also face the problem?

Never mind I’ve figured out haha

ey man!

I wanna try implementing yolo model into my PYNQ-Z1 aswell, but I see in the Viti AI library user guide that PYNQ-Z1 is not supported, just Xilinx ZCU102, Xilinx ZCU104 and Xilinx Alveo U50.

How did you do it?

thanks!

Hey @maik123456789 as far as I know the PYNQ-Z1 is currently not officially supported (feel free to correct me if I am wring). Maybe somebody else did figure out how to implement the DPU on the PYNQ-Z1, but I’ve used the Ultra96-V2.
Probably you create another post and ask how the things currently are for the PYNQ-Z1.

btw: Even if you are able to get the DPU running on the PYNQ-Z1, it might be probably be only a small DPU Architecture (they have different sizes). That could lead for Yolo not running on the DPU architecture.

I guess you should use the the FINN Framework to infer a neural network on the PYNQ-Z1, however I’ve lack the knowledge how to do that. Additionally, feel free to correct me if I am wrong there is no real good tutorial and documentation how to properly use the FINN Framework.

Edit 1:
I’ve used different resources to compile the Yolov3 Model for my DPU Arch: