dlhdl.ProcessorConfig class

Пакет: dlhdl

Сконфигурируйте пользовательский процессор глубокого обучения

Описание

Используйте dlhdl.ProcessorConfig класс, чтобы сконфигурировать пользовательский процессор, который затем передается dlhdl.buildProcessor класс, чтобы сгенерировать пользовательский процессор глубокого обучения.

Создание

dlhdl.ProcessorConfig класс создает пользовательский объект настройки процессора, который можно использовать, чтобы задать параметры процессора. Параметры процессора затем используются dlhdl.buildProcessor класс, чтобы создать и сгенерировать код для вашего пользовательского процессора глубокого обучения.

dlhdl.ProcessorConfig(Name,Value) создает пользовательский объект настройки процессора, с дополнительными опциями, заданными одними или несколькими аргументами name-value.

Свойства

развернуть все

Свойства уровня системы

Инструмент Synthesis называет в виде вектора символов.

Пример: Xilinx Vivado

Задайте имя серии ИС целевого устройства как вектор символов

Пример: 'Zynq'

Задайте частоту требуемой платы в МГц.

Пример: 220

Задайте имя требуемой платы как вектор символов.

Пример: 'Xilinx Zynq ZC706 evaluation kit'

Задайте имя потока битов, настройка процессора которого должна быть получена как вектор символов.

Пример: 'Передайте поток битов', 'zcu102_single'

Свойства верхнего уровня

Режим ядра процессора IP глубокого обучения в виде вектора символов. Чтобы использовать режим сверхкадра устанавливает RunTimeControl к 'register'. Чтобы использовать потоковый режим, установите RunTimeControl к 'port'.

Пример: 'register

Задайте входную опцию интерфейса ядра процессора IP глубокого обучения как вектор символов

Пример: 'External Memory'

Задайте ядро процессора IP глубокого обучения выходная опция интерфейса как вектор символов

Пример: 'External Memory'

Задайте тип данных модуля ядра процессора IP глубокого обучения как вектор символов.

Пример: 'single'

Обработка модуля conv Свойства

Используйте этот параметр, чтобы управлять генерацией модуля свертки как часть настройки процессора глубокого обучения.

Используйте этот параметр, чтобы управлять генерацией блока LRN как часть модуля свертки настройки процессора глубокого обучения.

Этот параметр является количеством параллельных 3х3 потоков ядра свертки, которые являются частью conv модуль в dlhdl.ProcessorConfig объект.

Этот параметр является 3D матричным входным размером изображения представления, ограниченным conv модуль размер BRAM в dlhdl.ProcessorConfig объект.

Этот параметр является 3D матрицей, представляющей размер выходного изображения, ограниченный conv модуль размер BRAM в dlhdl.ProcessorConfig объект.

Этот параметр является положительным целым числом, представляющим максимальный размер элемента ввода и вывода как часть conv модуль в dlhdl.ProcessorConfig объект.

Обработка модуля fc Свойства

Используйте этот параметр, чтобы управлять генерацией полностью связанного модуля как часть настройки процессора глубокого обучения.

Используйте этот параметр, чтобы управлять генерацией блока Softmax как часть полностью связанного модуля настройки процессора глубокого обучения. Когда вы устанавливаете это свойство на off, слой Softmax все еще реализован в программном обеспечении.

Этот параметр является количеством параллельных потоков MAC ФК, которые являются частью fc модуль в dlhdl.ProcessorConfig объект.

Этот параметр является беззнаковым целым, представляющим кэш размер BRAM, ограниченный fc модуль размер BRAM в dlhdl.ProcessorConfig объект.

Этот параметр является беззнаковым целым, представляющим кэш размер BRAM, ограниченный fc модуль размер BRAM в dlhdl.ProcessorConfig объект.

Обработка модуля adder Свойства

Используйте этот параметр, чтобы управлять генерацией модуля сумматора как часть настройки процессора глубокого обучения.

Этот параметр является беззнаковым целым, представляющим кэш размер BRAM, ограниченный adder модуль размер BRAM в dlhdl.ProcessorConfig объект.

Этот параметр является беззнаковым целым, представляющим кэш размер BRAM, ограниченный adder модуль размер BRAM в dlhdl.ProcessorConfig объект.

Методы

развернуть все

Примеры

Создайте 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: ''
Введенный в R2020b