cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
dcygan
Visitor
Visitor
422 Views
Registered: ‎01-17-2020

Resnet50 test on DPU and xilinx hardware vs. x86 PC

Hi,

Below I show the result and performance metrics for a standard sample - resnet50, included in Edge-AI-Platform-Tutorials.

I run that on hardware platform with DPU and see the results:

total image : 10

Load image: airplane1.png
[Top 0] prob = 0.991181 name = airliner,
[Top 1] prob = 0.003155 name = warplane, military plane,
[Top 2] prob = 0.001913 name = wing,
[Top 3] prob = 0.001161 name = bullet train, bullet,
[Top 4] prob = 0.000548 name = modem,

...

Load image: truck4.png
[Top 0] prob = 0.545508 name = tow truck, tow car, wrecker,
[Top 1] prob = 0.424842 name = fire engine, fire truck,
[Top 2] prob = 0.016473 name = trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi,
[Top 3] prob = 0.002229 name = thresher, thrasher, threshing machine,
[Top 4] prob = 0.002229 name = racer, race car, racing car,
[Time]537842us
[FPS]18.5928

I just wondere whether anyone tried to compile this example on x86 and run it on PC? Does openCV support this idea at all, I mean to create kernel but non-DPU so no hardware support. Unlike in the sample there where always is DPUKernel object used. Would anyone know any good example where CNN i.e. resnet50 is run on PC, source code detached from xilinx SDK and no DPU? Where to find taht kind of example anywhere close to openCV, openCL.

On other hand xilinx SDK may give an abstract layer where the developer builds the classification app on CNN but the kernel where it is eventually run on may be changed at compile time??

0 Kudos
Reply
2 Replies
gguasti
Xilinx Employee
Xilinx Employee
340 Views
Registered: ‎11-29-2007

Hello,

yes, for example this application (or similar applications) runs on a computer during training before being quantized and compiled for a Xilinx platform. 

In most applications it is essential how many frames per seconds are processed, the value you reported and that cannot be easily met without an accelerator

[Time]537842us
[FPS]18.5928

Xilinx does not provide an environment to develop, train or test your model, but you can easily create your: just google "how to create a CNN". Today Xilinx supports Tensorflow and Caffe frameworks. 

 

dcygan
Visitor
Visitor
308 Views
Registered: ‎01-17-2020

Ggausti,

Many thanks for your idea and response.

Right, I have looked into UG1327 and parser param there takes either caffe or tensorflow - so that is what you meant saying Xilinx support ...

In this post I was more interested in using or executing an already trained network, what framework or environment or API I could use to compile the CNN and make use of it creating sample applications, like I was thinking about Xilinx AI SDK but it seems it lets the user build an app but still on xilinx hw and two above trainings framworks. I appreciate what great support Xilinx brings to the CNN but I am trying to understand what other options are or how feasible is to run a CNN on personal computer. My second idea is maybe OpenCV framwork can deal with a trained CNN, compile it, maybe quantize and then make use in a sample app.

I imagin that it should be possible as CNN is a generic idea how to to find a certain image properties in a massive data samples or video footage, CNN comes with layers, neurons and params(weights) for maths operations i.e. filter, pool.. 

 

Tags (3)
0 Kudos
Reply