Пакет: dlhdl
Сконфигурируйте пользовательский процессор глубокого обучения
Используйте dlhdl.ProcessorConfig
класс, чтобы сконфигурировать пользовательский процессор, который затем передается dlhdl.buildProcessor
класс, чтобы сгенерировать пользовательский процессор глубокого обучения.
dlhdl.ProcessorConfig
класс создает пользовательский объект настройки процессора, который можно использовать, чтобы задать параметры процессора. Параметры процессора затем используются dlhdl.buildProcessor
класс, чтобы создать и сгенерировать код для вашего пользовательского процессора глубокого обучения.
dlhdl.ProcessorConfig(Name,Value)
создает пользовательский объект настройки процессора, с дополнительными опциями, заданными одними или несколькими аргументами name-value.
ProcessorConfig
ОбъектСоздайте пользовательскую настройку процессора. Сохраните ProcessorConfig
возразите против hPC
.
hPC = dlhdl.ProcessorConfig
Результат:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'on' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "adder" ModuleGeneration: 'on' InputMemorySize: 40 OutputMemorySize: 40 Processor Top Level Properties RunTimeControl: 'register' InputDataInterface: 'External Memory' OutputDataInterface: 'External Memory' ProcessorDataType: 'single' 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: ''
ProcessorConfig
ОбъектИзмените TargetPlatform
, SynthesisTool
, и TargetFrequency
свойства hPC
.
hPC.TargetPlatform = 'Xilinx Zynq ZC706 evaluation kit'; >> hPC.SynthesisTool = 'Xilinx Vivado'; >> hPC.TargetFrequency = 180; hPC
Результат:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'on' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "adder" ModuleGeneration: 'on' InputMemorySize: 40 OutputMemorySize: 40 Processor Top Level Properties RunTimeControl: 'register' InputDataInterface: 'External Memory' OutputDataInterface: 'External Memory' ProcessorDataType: 'single' System Level Properties TargetPlatform: 'Xilinx Zynq ZC706 evaluation kit' TargetFrequency: 180 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq' SynthesisToolDeviceName: 'xc7z045' SynthesisToolPackageName: 'ffg900' SynthesisToolSpeedValue: '-2'
ProcessorConfig
объект для zcu102_single
поток битовПолучите ProcessorConfig
объект для zcu102_single
передайте поток битов и храните объект в hPC
.
hPC = dlhdl.ProcessorConfig('Bitstream','zcu102_single')
Результат:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'on' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "adder" ModuleGeneration: 'on' InputMemorySize: 40 OutputMemorySize: 40 Processor Top Level Properties RunTimeControl: 'register' InputDataInterface: 'External Memory' OutputDataInterface: 'External Memory' ProcessorDataType: 'single' System Level Properties TargetPlatform: 'Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit' TargetFrequency: 220 SynthesisTool: 'Xilinx Vivado' ReferenceDesign: 'AXI-Stream DDR Memory Access : 3-AXIM' SynthesisToolChipFamily: 'Zynq UltraScale+' SynthesisToolDeviceName: 'xczu9eg-ffvb1156-2-e' SynthesisToolPackageName: '' SynthesisToolSpeedValue: ''
ProcessorConfig
тип данных объектного модуля к int8
Создайте пользовательскую настройку процессора. Сохраните ProcessorConfig
возразите против hPC
.
hPC = dlhdl.ProcessorConfig
Измените ProcessorDataType
к int8
.
hPC.ProcessorDataType = 'int8'
Результат:
hPC = Processing Module "conv" ModuleGeneration: 'on' LRNBlockGeneration: 'on' ConvThreadNumber: 16 InputMemorySize: [227 227 3] OutputMemorySize: [227 227 3] FeatureSizeLimit: 2048 Processing Module "fc" ModuleGeneration: 'on' SoftmaxBlockGeneration: 'off' FCThreadNumber: 4 InputMemorySize: 25088 OutputMemorySize: 4096 Processing Module "adder" ModuleGeneration: 'on' InputMemorySize: 40 OutputMemorySize: 40 Processor Top Level Properties RunTimeControl: 'register' InputDataInterface: 'External Memory' OutputDataInterface: 'External Memory' ProcessorDataType: 'int8' 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: ''