Класс: dlhdl.Workflow
Пакет: dlhdl
Оцените эффективность заданной нейронной сети для глубокого обучения и потока битов для платы целевого устройства
estimate( оценки и предсказывают эффективность нейронной сети для глубокого обучения, которую вы задали как часть estimateparameter)dlhdl.Workflow класс для развертывания на заданных платах целевого устройства.
Определите среднее количество циклов, выполняемых на входное изображение.
Создайте объект в качестве примера при помощи dlhdl.Workflow и затем используйте estimate функционируйте, чтобы оценить Performance.
snet = vgg19; hW = dlhdl.Workflow('network', snet, 'Bitstream', 'zcu102_single'); hW.estimate('Performance')
Если код выполнен, результат
Deep Learning Processor Estimator Performance Results
LastLayerLatency(cycles) LastLayerLatency(seconds) FramesNum Total Latency Frames/s
------------- ------------- --------- --------- ---------
Network 204460802 0.92937 1 204460802 1.1
conv_module 158812469 0.72187
conv1_1 2022004 0.00919
conv1_2 15855549 0.07207
pool1 2334753 0.01061
conv2_1 7536365 0.03426
conv2_2 14837392 0.06744
pool2 1446960 0.00658
conv3_1 7950445 0.03614
conv3_2 14365933 0.06530
conv3_3 14365933 0.06530
conv3_4 14365933 0.06530
pool3 930145 0.00423
conv4_1 7073684 0.03215
conv4_2 13761300 0.06255
conv4_3 13761300 0.06255
conv4_4 13761300 0.06255
pool4 572644 0.00260
conv5_1 3432645 0.01560
conv5_2 3432645 0.01560
conv5_3 3432645 0.01560
conv5_4 3432645 0.01560
pool5 140249 0.00064
fc_module 45648333 0.20749
fc6 37940907 0.17246
fc7 6194731 0.02816
fc8 1512695 0.00688
* The clock frequency of the DL processor is: 220MHz
Определите среднее количество циклов, выполняемых на входное изображение.
Создайте объект в качестве примера при помощи dlhdl.Workflow и затем используйте estimate функционируйте, чтобы оценить Performance.
Создайте файл в своей текущей рабочей директории под названием getLogoNetwork.m. Введите эти линии в файл:
function net = getLogoNetwork() data = getLogoData(); net = data.convnet; end function data = getLogoData() if ~isfile('LogoNet.mat') url = 'https://www.mathworks.com/supportfiles/gpucoder/cnn_models/logo_detection/LogoNet.mat'; websave('LogoNet.mat',url); end data = load('LogoNet.mat'); end
Используйте это изображение, чтобы запустить код:

Чтобы квантовать сеть, вам нужны продукты, перечисленные под FPGA в необходимых условиях рабочего процесса квантования.
snet = getLogoNetwork(); dlquantObj = dlquantizer(snet,'ExecutionEnvironment','FPGA'); Image = imageDatastore('heineken.png','Labels','Heineken'); dlquantObj.calibrate(Image); hW = dlhdl.Workflow('Network',dlquantObj,'Bitstream','zcu102_int8'); hW.estimate('Performance');
Если код выполнен, результат:
Deep Learning Processor Estimator Performance Results
LastLayerLatency(cycles) LastLayerLatency(seconds) FramesNum Total Latency Frames/s
------------- ------------- --------- --------- ---------
Network 13923758 0.04641 1 13923758 21.5
conv_module 12737303 0.04246
conv_1 3327693 0.01109
maxpool_1 1876824 0.00626
conv_2 2936929 0.00979
maxpool_2 723536 0.00241
conv_3 2456212 0.00819
maxpool_3 882032 0.00294
conv_4 520052 0.00173
maxpool_4 14025 0.00005
fc_module 1186455 0.00395
fc_1 708503 0.00236
fc_2 453111 0.00151
fc_3 24841 0.00008
* The clock frequency of the DL processor is: 300MHzОцените пропускную способность и начальную задержку для данной обученной нейронной сети для глубокого обучения, работающей на пользовательской настройке процессора.
Создайте пользовательский объект настройки процессора класса dlhdl.ProcessorConfig.
Создайте объект класса workflow при помощи dlhdl.Workflow класс.
Вызовите estimate функция для объекта рабочего процесса.
Например:
hPC = dlhdl.ProcessorConfig; snet = vgg19; hW = dlhdl.Workflow('Network', snet, 'ProcessorConfig',hPC); result = hW.estimate('Performance');
Результат оценки:
Deep Learning Processor Estimator Performance Results
LastLayerLatency(cycles) LastLayerLatency(seconds) FramesNum Total Latency Frames/s
------------- ------------- --------- --------- ---------
Network 202770372 1.01385 1 202770372 1.0
conv_module 158812469 0.79406
conv1_1 2022004 0.01011
conv1_2 15855549 0.07928
pool1 2334753 0.01167
conv2_1 7536365 0.03768
conv2_2 14837392 0.07419
pool2 1446960 0.00723
conv3_1 7950445 0.03975
conv3_2 14365933 0.07183
conv3_3 14365933 0.07183
conv3_4 14365933 0.07183
pool3 930145 0.00465
conv4_1 7073684 0.03537
conv4_2 13761300 0.06881
conv4_3 13761300 0.06881
conv4_4 13761300 0.06881
pool4 572644 0.00286
conv5_1 3432645 0.01716
conv5_2 3432645 0.01716
conv5_3 3432645 0.01716
conv5_4 3432645 0.01716
pool5 140249 0.00070
fc_module 43957903 0.21979
fc6 36535923 0.18268
fc7 5965299 0.02983
fc8 1456681 0.00728
* The clock frequency of the DL processor is: 200MHzestimateparameter — Параметр для оценкиПараметр для оценки в виде вектора символов. Если вы задаете Performance, затем функция оценивает эффективность для FramesPerSecond, LatencyInCycles, и Time(s) в формате таблицы.
calibrate | compile | deploy | dlquantizationOptions | dlquantizer | predict | validate
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.