主要内容

生成定制的比特流满足定制深入学习网络的要求

部署您的自定义网络,只有层与卷积模块输出格式或只有层完全连接模块的输出格式通过生成一个资源优化定制比特流满足您的性能和资源需求。比特流生成使用默认的深度学习处理器配置包括卷积(conv),完全连接(fc),加法器模块。生成的默认的比特流可能会超过您的资源利用率要求可能推高成本。只生成一个比特流,包括定制的层深学习网络,修改深度学习处理器配置使用setModuleProperty的函数dlhdl.ProcessorConfig对象。

在这个例子中,你有一个网络,只有层完全连接模块的输出格式。生成一个定制的比特流,由完全连接的模块只有通过删除卷积和加法器模块从深度学习处理器配置。删除卷积和加法器模块:

  • 关掉ModuleGeneration房地产深度学习各个模块的处理器配置。

  • 使用optimizeConfigurationForNetwork函数深入学习网络的函数对象作为输入,并返回一个自定义深度学习处理器配置进行了优化。

  • 快速验证的资源利用率优化深度学习处理器配置使用estimateResources函数。

先决条件

  • 深度学习HDL工具箱为Xilinx FPGA和SoC™万博1manbetx™支持包

  • 深度学习工具箱™

  • 深度学习HDL工具箱™

创建自定义处理器配置

创建一个定制的处理器配置。将配置保存到hPC

hPC = dlhdl.ProcessorConfig
hPC =处理模块”conv“ModuleGeneration:‘“LRNBlockGeneration:‘off’SegmentationBlockGeneration:”“ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048处理模块“俱乐部”ModuleGeneration:”“SoftmaxBlockGeneration:‘off’SigmoidBlockGeneration:‘off’FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096处理模块“定制”ModuleGeneration:”“加法:”“乘法:”“Resize2D:‘off’s形的:‘off’TanhLayer:‘off’InputMemorySize: 40 OutputMemorySize: 120处理器RunTimeControl顶级属性:“注册”RunTimeStatus:“注册”InputStreamControl:“注册”OutputStreamControl:“注册”SetupControl:“注册”ProcessorDataType:单一的系统级属性TargetPlatform:“Xilinx Zynq UltraScale + MPSoC ZCU102评估工具包”TargetFrequency: 200 SynthesisTool:“Xilinx Vivado”ReferenceDesign:“AXI-Stream DDR内存访问:3-AXIM”SynthesisToolChipFamily:“Zynq UltraScale + ' SynthesisToolDeviceName:“xczu9eg-ffvb1156-2-e”SynthesisToolPackageName:“SynthesisToolSpeedValue:“

优化处理器配置自定义完全连接(FC)层只有网络

优化您的处理器配置,创建一个自定义完全连接层只有网络。调用自定义网络fcnet

层= [imageInputLayer ([28 28 3],“归一化”,“没有”,“名字”,“输入”)fullyConnectedLayer (10“名字”,“俱乐部”)regressionLayer (“名字”,“输出”));层(2)。重量=兰德(10,28 * 28 * 3);层(2)。偏见=兰德(10,1);fcnet = assembleNetwork(层);情节(fcnet);

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

检索资源利用率为默认使用定制的处理器配置estimateResources自定义网络检索的性能fcnet通过使用estimatePerformance

hPC.estimateResources
深度学习dsp处理器资源估计结果块RAM *附近地区(CLB / ALUT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -提供2520 912 274080 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DL_Processor 381(16%) 508(56%) 216119(79%) *块RAM代表块RAM瓷砖在Xilinx设备和块RAM位英特尔设备
hPC.estimatePerformance (fcnet)
# # #网络包括以下层:1的输入图像输入28××28日3图片(SW层)2 fc的完全连接10完全连接层(HW层)3“输出”回归的输出均方误差(SW层)# # #注意:层“输入”型“nnet.cnn.layer.ImageInputLayer”是在软件中实现。# # #注意:层“输出”型“nnet.cnn.layer.RegressionOutputLayer”是在软件中实现。深度学习处理器估计性能结果LastFrameLatency(周期)LastFrameLatency总延迟(秒)FramesNum帧/ s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -网络137574 0.00069 137574 1453.8 137574年____fc 0.00069 * DL处理器的时钟频率是:200 mhz

目标设备的资源数量是:

  • 数字信号处理器(DSP)片数- 240

  • 随机存取内存块(BRAM)计数- 128

估计是1454帧每秒(FPS)性能。估计资源使用数量是:

  • 数字信号处理器(DSP)片数- 381

  • 随机存取内存块(BRAM)计数- 508

估计DSP片数和布拉姆数使用超过目标设备资源预算。减少资源使用定制比特流配置通过定制处理器配置。

通过使用定制的处理器配置ModuleGeneration财产

创建一个深度学习网络处理器配置对象。将其保存到hPC_moduleoff关掉卷积和加法器模块的自定义深度学习处理器配置。

hPC_moduleoff = dlhdl.ProcessorConfig;hPC_moduleoff.setModuleProperty (“conv”,“ModuleGeneration”,“关闭”);hPC_moduleoff.setModuleProperty (“毒蛇”,“ModuleGeneration”,“关闭”);

检索资源利用率为默认使用定制的处理器配置estimateResources。自定义网络检索的性能fcnet通过使用estimatePerformance

hPC_moduleoff.estimateResources
深度学习dsp处理器资源估计结果块RAM *附近地区(CLB / ALUT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -提供2520 912 274080 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DL_Processor 17(1%) 44(5%) 25760(10%) *块RAM代表块RAM瓷砖在Xilinx设备和块RAM位英特尔设备
hPC_moduleoff.estimatePerformance (fcnet)
# # #网络包括以下层:1的输入图像输入28××28日3图片(SW层)2 fc的完全连接10完全连接层(HW层)3“输出”回归的输出均方误差(SW层)# # #注意:层“输入”型“nnet.cnn.layer.ImageInputLayer”是在软件中实现。# # #注意:层“输出”型“nnet.cnn.layer.RegressionOutputLayer”是在软件中实现。深度学习处理器估计性能结果LastFrameLatency(周期)LastFrameLatency总延迟(秒)FramesNum帧/ s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -网络137574 0.00069 137574 1453.8 137574年____fc 0.00069 * DL处理器的时钟频率是:200 mhz

目标设备的资源数量是:

  • 数字信号处理器(DSP)片数- 240

  • 随机存取内存块(BRAM)计数- 128

估计是1454帧每秒(FPS)性能。估计资源使用数量是:

  • 数字信号处理器(DSP)片计数- 17所示

  • 随机存取内存块(BRAM)计数- 44

定制的比特流的估计资源匹配的用户目标设备的资源预算。估计性能匹配目标网络性能。

通过使用定制的处理器配置optimizeConfigurationForNetwork

创建一个深度学习网络处理器配置对象。将其保存到hPC_optimized。生成一个优化深度学习处理器配置使用optimizeConfigurationForNetwork函数。

hPC_optimized = dlhdl.ProcessorConfig;hPC_optimized.optimizeConfigurationForNetwork (fcnet);
# # #为深入学习网络优化处理器配置开始。# # #注:处理模块“conv”属性“ModuleGeneration”从“true”改为“false”。# # #注:处理模块“俱乐部”属性“InputMemorySize”改为“25088”“2352”。# # #注:处理模块“俱乐部”属性“OutputMemorySize”改为“4096”“128”。# # #注:处理模块“定制”属性“ModuleGeneration”从“true”改为“false”。处理模块”conv ModuleGeneration:‘离开’处理模块“俱乐部”ModuleGeneration:”“SoftmaxBlockGeneration:‘off’SigmoidBlockGeneration:‘off’FCThreadNumber: 4 InputMemorySize: 2352 OutputMemorySize: 128处理模块“定制”ModuleGeneration:‘off’处理器RunTimeControl顶级属性:“注册”RunTimeStatus:“注册”InputStreamControl:“注册”OutputStreamControl:“注册”SetupControl:“注册”ProcessorDataType:单一的系统级属性TargetPlatform:“Xilinx Zynq UltraScale + MPSoC ZCU102评估工具包”TargetFrequency: 200 SynthesisTool:“Xilinx Vivado”ReferenceDesign:“AXI-Stream DDR内存访问:3-AXIM”SynthesisToolChipFamily:“Zynq UltraScale + ' SynthesisToolDeviceName:“xczu9eg-ffvb1156-2-e”SynthesisToolPackageName:“SynthesisToolSpeedValue:“# # #为深入学习网络优化处理器配置完成。

检索资源利用率为默认使用定制的处理器配置estimateResources。自定义网络检索的性能fcnet通过使用estimatePerformance

hPC_optimized.estimateResources
深度学习dsp处理器资源估计结果块RAM *附近地区(CLB / ALUT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -提供2520 912 274080 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DL_Processor 17(1%)(3%) 25760(10%) *块RAM代表块RAM瓷砖在Xilinx设备和块RAM位英特尔设备
hPC_optimized.estimatePerformance (fcnet)
# # #网络包括以下层:1的输入图像输入28××28日3图片(SW层)2 fc的完全连接10完全连接层(HW层)3“输出”回归的输出均方误差(SW层)# # #注意:层“输入”型“nnet.cnn.layer.ImageInputLayer”是在软件中实现。# # #注意:层“输出”型“nnet.cnn.layer.RegressionOutputLayer”是在软件中实现。深度学习处理器估计性能结果LastFrameLatency(周期)LastFrameLatency总延迟(秒)FramesNum帧/ s - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -网络137574 0.00069 137574 1453.8 137574年____fc 0.00069 * DL处理器的时钟频率是:200 mhz

目标设备的资源数量是:

  • 数字信号处理器(DSP)片数- 240

  • 随机存取内存块(BRAM)计数- 128

估计是1454帧每秒(FPS)性能。估计资源使用数量是:

  • 数字信号处理器(DSP)片计数- 17所示

  • 随机存取内存块(BRAM)计数- 20

定制的比特流的估计资源匹配的用户目标设备的资源预算。估计性能匹配目标网络性能。

生成定制的比特流

生成一个定制的比特流使用处理器配置匹配您的性能和资源需求。

部署fcnet使用使用所产生的比特流ModuleOff属性,取消这行代码:

% dlhdl.buildProcessor (hPC_moduleoff)

部署fcnet使用使用所产生的比特流optimizeConfigurationForNetwork功能,取消这行代码:

% dlhdl.buildProcessor (hPC_optimized)

另请参阅

||||

相关的话题