compile

Класс: dlhdl.Workflow
Пакет: dlhdl

Скомпилируйте объект рабочего процесса

Синтаксис

Описание

пример

compile компилирует dlhdl.Workflow возразите и генерирует параметры для развертывания сети на целевом устройстве.

compile(Name,Value) компилирует dlhdl.Workflow возразите и генерирует параметры для развертывания сети на целевом устройстве, с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

Функция возвращает две матрицы. Одна матрица описывает слои сети. Conv Controller (Scheduling) и FC Controller (Scheduling) модули в процессоре IP глубокого обучения используют эту матрицу, чтобы запланировать операции полносвязного слоя и свертка. Вторая матрица содержит веса, смещения и входные параметры нейронной сети. Эта информация загружается на память DDR и используется Generic Convolution Processor и Generic FC Processor в процессоре глубокого обучения.

Примеры

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

Скомпилируйте dlhdl.Workflow объект, для развертывания на комплекте разработчика Intel® Arria® 10 SoC, который имеет single типы данных.

Создайте dlhdl.Workflow возразите и затем используйте compile функция, чтобы развернуть предварительно обученную сеть в целевой компьютер.

snet = vgg19;
hT = dlhdl.Target('Intel');
hW = dlhdl.Workflow('network', snet, 'Bitstream', 'arria10soc_single','Target',hT);
hW.compile

Если код выполнен, результат:

  hW.compile
          offset_name          offset_address     allocated_space 
    _______________________    ______________    _________________

    "InputDataOffset"           "0x00000000"     "24.0 MB"        
    "OutputResultOffset"        "0x01800000"     "4.0 MB"         
    "SystemBufferOffset"        "0x01c00000"     "52.0 MB"        
    "InstructionDataOffset"     "0x05000000"     "20.0 MB"        
    "ConvWeightDataOffset"      "0x06400000"     "276.0 MB"       
    "FCWeightDataOffset"        "0x17800000"     "472.0 MB"       
    "EndOffset"                 "0x35000000"     "Total: 848.0 MB"


ans = 

  struct with fields:

       Operators: [1×1 struct]
    LayerConfigs: [1×1 struct]
      NetConfigs: [1×1 struct]

 

  1. Создайте dlhdl.Workflow возразите и затем используйте compile функция с дополнительным аргументом InputFrameNumberLimit развернуть предварительно обученную сеть в целевой компьютер.

    snet = alexnet;
    hT = dlhdl.Target('Xilinx');
    hW = dlhdl.Workflow('network', snet, 'Bitstream', 'zcu102_single','Target',hT);
    hW.compile('InputFrameNumberLimit',30);
  2. Результат выполнения кода:

             offset_name          offset_address     allocated_space 
        _______________________    ______________    _________________
    
        "InputDataOffset"           "0x00000000"     "24.0 MB"        
        "OutputResultOffset"        "0x01800000"     "4.0 MB"         
        "SystemBufferOffset"        "0x01c00000"     "28.0 MB"        
        "InstructionDataOffset"     "0x03800000"     "4.0 MB"         
        "ConvWeightDataOffset"      "0x03c00000"     "16.0 MB"        
        "FCWeightDataOffset"        "0x04c00000"     "224.0 MB"       
        "EndOffset"                 "0x12c00000"     "Total: 300.0 MB"
     

Входные параметры

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Пример: 'InputFrameNumberLimit',30

Смотрите также

| |

Введенный в R2020b