В этом примере показано, как создать пользовательскую настройку процессора и оценить эффективность предварительно обученной серийной сети. Можно затем изменить параметры пользовательской настройки процессора и повторно оценить эффективность. Если вы достигли своих требований к производительности, можно сгенерировать пользовательский поток битов при помощи пользовательской настройки процессора.
Загружать предварительно обученную серийную сеть LogoNet, введите:
snet = getLogoNetwork;
Чтобы создать пользовательскую настройку процессора, используйте dlhdl.ProcessorConfig
объект. Для получения дополнительной информации смотрите dlhdl.ProcessorConfig
. Чтобы узнать о модифицируемых параметрах настройки процессора, смотрите getModuleProperty
и setModuleProperty
.
hPC = dlhdl.ProcessorConfig; hPC.TargetFrequency = 220;
Создайте dlhdl.Workflow
объект. Задайте snet
как сеть и hPC
как ProcessorConfig
.
hW = dlhdl.Workflow('Network',snet,'ProcessorConfig',hPC)
К estimate
эффективность сети серии LogoNet, используйте estimate
функция dlhdl.Workflow
объект. Функция возвращает предполагаемую задержку слоя, сетевую задержку и производительность сети в кадрах в секунду (Frames/s).
hW.estimate('Performance')
Выход estimate
функция:
Предполагаемые кадры в секунду являются 5,6 системами координат/с. Чтобы улучшать производительность сети, измените пользовательский тип данных ядра модуля свертки процессора, номер потока процессора свертки, полностью связанный тип данных ядра модуля, и полностью соединил номер потока модуля. Для получения дополнительной информации об этих параметрах процессора, смотрите getModuleProperty
и setModuleProperty
.
Чтобы создать пользовательскую настройку процессора, используйте dlhdl.ProcessorConfig
объект. Для получения дополнительной информации смотрите dlhdl.ProcessorConfig
. Чтобы узнать о модифицируемых параметрах настройки процессора, смотрите getModuleProperty
и setModuleProperty
.
hPCNew = dlhdl.ProcessorConfig; hPC.TargetFrequency = 300; hPCNew.setModuleProperty('conv', 'KernelDataType', 'int8'); hPCNew.setModuleProperty('conv', 'ConvThreadNumber', 64); hPCNew.setModuleProperty('fc', 'KernelDataType', 'int8'); hPCNew.setModuleProperty('fc', 'FCThreadNumber', 16);
Чтобы оценить эффективность сети серии LogoNet при помощи новой пользовательской настройки процессора, квантуйте сеть LogoNet. Для получения дополнительной информации смотрите Оценочную Эффективность Квантованного LogoNet, Работающего на Потоке битов ZCU102. Используйте квантованный сетевой объект dlquantObj
оценить эффективность при помощи новой пользовательской настройки процессора.
Создайте dlhdl.Workflow
объект. Задайте dlQuantObj
как сеть и hPC
как ProcessorConfig
.
hW = dlhdl.Workflow('Network',dlquantObj,'ProcessorConfig',hPCNew)
Чтобы оценить эффективность сети серии LogoNet, используйте estimate
функция dlhdl.Workflow
объект. Функция возвращает предполагаемую задержку слоя, сетевую задержку и производительность сети в кадрах в секунду (Frames/s).
hW.estimate('Performance')
Выход estimate
функция:
Предполагаемые кадры в секунду являются 21,5 системами координат/с.
Используйте новую пользовательскую настройку процессора, чтобы создать и сгенерировать пользовательский процессор и поток битов. Используйте пользовательский поток битов, чтобы развернуть сеть LogoNet в вашу целевую плату FPGA.
hdlsetuptoolpath('ToolName', 'Xilinx Vivado', 'ToolPath', 'C:\Xilinx\Vivado\2019.2\bin\vivado.bat'); dlhdl.buildProcessor(hPCNew);
Чтобы изучить, как использовать сгенерированный файл потока битов, смотрите, Генерируют Пользовательский Поток битов.
Сгенерированный поток битов в этом примере похож на zcu102_int8
поток битов. Развернуть квантованную сеть LogoNet с помощью zcu102_int8
передайте поток битов, смотрите, Получают Результаты Предсказания для Квантованной Сети LogoNet.