主要内容

简介推理运行

这个例子展示了如何检索ResNet-18网络的预测和分析器结果。查看您预先训练的深度学习网络中的各层、卷积模块和全连接模块的网络预测和性能数据。

  1. 创建一个类的对象工作流通过使用dlhdl。工作流类。

    看到的,使用属性名称值对创建工作流对象

  2. 为工作流对象设置一个备用深度学习网络和比特流。

    看到的,使用属性名称值对创建工作流对象

  3. 创建一个类的对象dlhdl。目标并指定目标供应商和接口。看到的,dlhdl。目标

  4. 要在指定的目标FPGA板上部署网络,调用部署方法用于工作流对象。看到的,部署

  5. 调用预测工作流对象的函数。提供一系列图像InputImage.参数。提供参数来打开分析器。看到的,预测结果和概要结果

    分类图像的标签存储在一个结构中结构体并显示在屏幕上。在结构中返回速度和延迟的性能参数结构体

使用此映像运行以下代码:

snet = resnet18;hT = dlhdl。目标(“Xilinx”'界面'“以太网”);hw = dlhdl.workflow(“净”,斯内特,“比特流”'zcu102_single'“目标”hT);hW.deploy;形象= imread (“zebra.jpeg”);inputImg = imresize(图像,[224,224]);imshow (inputImg);[prediction, speed] = hW.predict(single(inputImg),“配置文件”“上”);[val, idx] = max(预测);snet.Layers(结束).ClassNames {idx}

###完成写入输入激活。###运行单输入激活。深度学习处理器Profiler性能结果LastFrameLatency(cycles) LastFrameLatency(seconds) FramesNum Total Latency Frames/s ------------- ------------- --------- --------- --------- Network 23659630 0.10754 1 23659630 9.3 conv1 2224115 0.01011 pool1 572867 0.00260 res2a_branch2a 972699 0.00442 res2a_branch2b 972568 0.00442 res2a 2093120.00095 res2b_branch2a 972733 0.00442 res2b_branch2b 973022 0.00442 res2b 209736 0.00095 res3a_branch2a 747507 0.00340 res3a_branch2b 904291 0.00411 res3a_branch1 538763 0.00245 res3a 104750 0.00048 res3b_branch2a 904389 0.00411 res3b_branch2b 904367 0.00411 res3b 104886 0.00048 res4a_branch2a 485682 0.00221 res4a_branch2b 880001 0.00400 res4a_branch1 486429 0.00221 res4a 52628 0.00024 res4b_branch2a 880053 0.00400 res4b_branch2b 880035 0.00400 res4b 52478 0.00024 res5a_branch2a 1056299 0.00480 res5a_branch2b 2056857 0.00935 res5a_branch1 1056510 0.00480 res5a 26170 0.00012 res5b_branch2a 2057203 0.00935 res5b_branch2b 2057659 0.00935 res5b 26381 0.00012 pool5 71405 0.00032 fc1000 216155 0.00098 * The clock frequency of the DL processor is: 220MHz

分析器数据返回以下参数及其值:

  • LastFrameLatency(周期)-前一帧执行的总时钟周期数。

  • 时钟频率 - 从用于将网络部署到目标板的比特流检索时钟频率信息。例如,Profiler返回* DL处理器的时钟频率为:220MHz.时钟频率220兆赫从zcu102_single比特流。

  • LastFrameLatency(秒)- 前一帧执行的总秒数。总时间计算为LastFrameLatency /时钟频率(周期).例如conv_moduleLastFrameLatency(秒)是计算2224115 / (220 * 10 ^ 6)

  • FramesNum—输入到网络的帧总数。该值将用于计算帧/秒

  • 总延迟—所有网络层和模块执行的时钟周期的总数FramesNum

  • 帧/秒- 由网络一秒钟处理的帧数。总数帧/秒是计算(FramesNum *时钟频率)/总延迟.例如帧/秒在本例中计算为(1 * 220 * 10 ^ 6)/ 23659630

另请参阅

||

相关话题