Класс: 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: 200MHz
estimateparameter
— Параметр для оценкиПараметр для оценки в виде вектора символов. Если вы задаете Performance
, затем функция оценивает эффективность для FramesPerSecond
, LatencyInCycles
, и Time(s)
в формате таблицы.
calibrate
| compile
| deploy
| dlquantizationOptions
| dlquantizer
| predict
| validate
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.