setModuleProperty
Class: dlhdl.ProcessorConfig
Namespace: dlhdl
Use the setModuleProperty method to set properties of modules
within the dlhdl.ProcessorConfig object
Syntax
setModuleProperty(processorConfigObject,ModuleName,Name,Value)
Description
The
setModuleProperty(
method sets the properties of the module mentioned in processorConfigObject,ModuleName,Name,Value)ModuleName by using
the values specified as Name,Value pairs.
Input Arguments
Processor configuration, specified as a
dlhdl.ProcessorConfig
object.
The dlhdl.ProcessorConfig object module name, specified as a
character vector or string.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN, where Name is
the argument name and Value is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name in quotes.
Example:
conv module parameters
Use this parameter to control generation of the convolution module as a part of the deep learning processor configuration.
Example: 'ModuleGeneration', 'on'
Use this parameter to control generation of the LRN block as a part of the convolution module of the deep learning processor configuration.
Example: 'LRNBlockGeneration', 'on'
Use this parameter to control generation of the segmentation block as a part of the convolution module of the deep learning processor configuration.
Option to enable or disable Gaussian error linear unit (GELU) block, specified as a character vector.
This parameter is the number of parallel 3-by-3 convolution kernel threads that
are a part of the conv module within the
dlhdl.ProcessorConfig object.
Example: 'ConvThreadNumber', 64
This parameter is a 3D matrix representing input image size limited by the
conv module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'InputMemorySize', [227 227 3]
This parameter is a 3D matrix representing output image size limited by the
conv module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'OutputMemorySize', [227 227 3]
This parameter is a positive integer representing the maximum input and output
feature size as a part of the conv module within the
dlhdl.ProcessorConfig object.
Example: 'FeatureSizeLimit', 512
fc module parameters
Use this parameter to control generation of the fully connected module as a part of the deep learning processor configuration.
Example: 'ModuleGeneration', 'on'
Use this parameter to control generation of the Softmax block as a part of the
fully connected module of the deep learning processor configuration. When you set this
property to off, the Softmax layer is still implemented in
software.
Example: 'SoftmaxBlockGeneration', 'on'
Option to enable or disable Gaussian error linear unit (GELU) block, specified as a character vector.
This parameter is the number of parallel fc MAC threads that are a part of the
fc module within the dlhdl.ProcessorConfig
object.
Example: 'FCThreadNumber', 16
This parameter is an unsigned integer representing cache BRAM size limited by the
fc module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'InputMemorySize', 9216
This parameter is an unsigned integer representing cache BRAM size limited by the
fc module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'OutputMemorySize', 4096
custom module properties
Use this parameter to control generation of the adder module as a part of the deep learning processor configuration.
Example: 'ModuleGeneration', 'on'
Use this parameter to control generation of the addition layer as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the mish layer as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the multiplication layer as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the resize2d layer
as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the sigmoid layer as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the swish layer as a part of the custom module of the deep learning processor configuration.
Use this parameter to control generation of the tanh layer as a
part of the custom module of the deep learning processor configuration.
This parameter is an unsigned integer representing cache BRAM size limited by the
adder module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'InputMemorySize', 40
This parameter is an unsigned integer representing cache BRAM size limited by the
adder module BRAM size within the
dlhdl.ProcessorConfig object.
Example: 'OutputMemorySize', 40
Examples
Create an example object by using the
dlhdl.ProcessorConfigclass, and then use thesetModulePropertymethod to set the value forconvThreadNumber.hPC = dlhdl.ProcessorConfig; hPC.setModuleProperty("conv","ConvThreadNumber",25) hPC
Once you execute the code, the result is:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'off' SegmentationBlockGeneration: 'on' GELUBlockGeneration: 'off' ConvThreadNumber: 25 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' GELUBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "custom" ModuleGeneration: 'on' Addition: 'on' MishLayer: 'off' Multiplication: 'on' Resize2D: 'off' Sigmoid: 'off' SwishLayer: 'off' TanhLayer: 'off' InputMemorySize: 40 OutputMemorySize: 120 Processor Top Level Properties RunTimeControl: 'register' RunTimeStatus: 'register' InputStreamControl: 'register' OutputStreamControl: 'register' SetupControl: 'register' ProcessorDataType: 'single' UseVendorLibrary: 'on' LayerNormalizationBlock: 'off' System Level Properties TargetPlatform: 'Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit' TargetFrequency: 200 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq UltraScale+' SynthesisToolDeviceName: 'xczu9eg-ffvb1156-2-e' SynthesisToolPackageName: '' SynthesisToolSpeedValue: ''
Create an example object by using the
dlhdl.ProcessorConfigclass, and then use thesetModulePropertymethod to set the value forInputMemorySize.hPC = dlhdl.ProcessorConfig; hPC.setModuleProperty("fc","InputMemorySize",25060) hPC
Once you execute the code, the result is:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'off' SegmentationBlockGeneration: 'on' GELUBlockGeneration: 'off' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' GELUBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25060 OutputMemorySize: 4096 Processing Module "custom" ModuleGeneration: 'on' Addition: 'on' MishLayer: 'off' Multiplication: 'on' Resize2D: 'off' Sigmoid: 'off' SwishLayer: 'off' TanhLayer: 'off' InputMemorySize: 40 OutputMemorySize: 120 Processor Top Level Properties RunTimeControl: 'register' RunTimeStatus: 'register' InputStreamControl: 'register' OutputStreamControl: 'register' SetupControl: 'register' ProcessorDataType: 'single' UseVendorLibrary: 'on' LayerNormalizationBlock: 'off' System Level Properties TargetPlatform: 'Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit' TargetFrequency: 200 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq UltraScale+' SynthesisToolDeviceName: 'xczu9eg-ffvb1156-2-e' SynthesisToolPackageName: '' SynthesisToolSpeedValue: ''
Create an example object by using the
dlhdl.ProcessorConfigclass, and then use thesetModulePropertymethod to set the value forInputMemorySize.hPC = dlhdl.ProcessorConfig; hPC.setModuleProperty("custom","InputMemorySize",80) hPC
Once you execute the code, the result is:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'off' SegmentationBlockGeneration: 'on' GELUBlockGeneration: 'off' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' GELUBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "custom" ModuleGeneration: 'on' Addition: 'on' MishLayer: 'off' Multiplication: 'on' Resize2D: 'off' Sigmoid: 'off' SwishLayer: 'off' TanhLayer: 'off' InputMemorySize: 80 OutputMemorySize: 120 Processor Top Level Properties RunTimeControl: 'register' RunTimeStatus: 'register' InputStreamControl: 'register' OutputStreamControl: 'register' SetupControl: 'register' ProcessorDataType: 'single' UseVendorLibrary: 'on' LayerNormalizationBlock: 'off' System Level Properties TargetPlatform: 'Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit' TargetFrequency: 200 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq UltraScale+' SynthesisToolDeviceName: 'xczu9eg-ffvb1156-2-e' SynthesisToolPackageName: '' SynthesisToolSpeedValue: ''
Create an example object by using the
dlhdl.ProcessorConfigclass, and then use thesetModulePropertymethod to set the value forModuleGeneration.hPC = dlhdl.ProcessorConfig; hPC.setModuleProperty("conv","ModuleGeneration", "off") hPC
Once you execute the code, the result is:
hPC = Processing Module "conv" ModuleGeneration: 'off' Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' GELUBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "custom" ModuleGeneration: 'on' Addition: 'on' MishLayer: 'off' Multiplication: 'on' Resize2D: 'off' Sigmoid: 'off' SwishLayer: 'off' TanhLayer: 'off' InputMemorySize: 40 OutputMemorySize: 120 Processor Top Level Properties RunTimeControl: 'register' RunTimeStatus: 'register' InputStreamControl: 'register' OutputStreamControl: 'register' SetupControl: 'register' ProcessorDataType: 'single' UseVendorLibrary: 'on' LayerNormalizationBlock: 'off' System Level Properties TargetPlatform: 'Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit' TargetFrequency: 200 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq UltraScale+' SynthesisToolDeviceName: 'xczu9eg-ffvb1156-2-e' SynthesisToolPackageName: '' SynthesisToolSpeedValue: ''
Version History
Introduced in R2020b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)