Формат данных внешней памяти

Чтобы загрузить вход изображение в развернутое IP-ядро процессора глубокого обучения и получить результаты выхода, можно считать данные из внешней памяти и записать данные во внешнюю память при помощи dlhdl.Workflow рабочий процесс. Этот рабочий процесс форматирует ваши данные. Или можно вручную отформатировать входные данные. Обработайте форматированные выходные данные с помощью формата данных внешней памяти.

Ключевая терминология

  • Parallel Data Transfer Number относится к количеству пикселей, которые передаются каждый тактовый цикл через главный интерфейс AXI. Используйте букву N вместо Parallel Data Transfer Number. Математически N является квадратным корнем ConvThreadNumber. См. ConvThreadNumber.

  • Feature Number относится к значению z размерности матрицы x-на-y-на-z. Для примера большинство входа изображений имеют размерность x на y на три, причем три относятся к красным, зеленым и синим каналам изображения. Используйте букву Z вместо Feature Number.

Формат данных внешней памяти модуля свертки

Входы и выходы модуля свертки процессора глубокого обучения обычно являются трехмерными (3-D). Внешняя память хранит данные в одномерном (1-D) векторе. Преобразование входного изображения 3-D в 1-D для хранения во внешней памяти:

  1. Отправить N количество данных в z размерность матрицы.

  2. Отправьте информацию об изображении по размерности x входного изображения.

  3. Отправьте информацию об изображении по размерности y входа изображения.

  4. После первого NXY блок завершен, затем отправляем следующую NXY блок вдоль z размерность матрицы.

Изображение демонстрирует, как данные, хранившие в матрице 3 на 3 на 4, переведены на матрицу 1 на 36, которая тогда сохранена во внешней памяти.

Когда изображение Feature Number (Z) не является произведением Parallel Data Transfer Number (N), затем мы должны дополнить нули матрицы размера x-на-y вдоль z размерности матрицы, чтобы сделать изображение Z задайте значение, кратное N.

Для примера, если ваш вход изображение является матрицей x-на-y с Z значение трех и значение N - это четыре, дополните изображение матрицей нулей размера x-на-y, чтобы сделать вход во внешнюю память матрицей x-на-y-на-4.

Это изображение является форматом входного изображения перед заполнением.

Это изображение является форматом входного изображения после заполнения нуля.

Изображение показывает пример формата выходных данных внешней памяти для матрицы входа после заполнения нуля. В изображении A, B и C являются три функций входа изображения, а G является заполненными нулями данными, чтобы сделать вход изображение Z значение четыре, которое кратно N.

Если ваш процессор глубокого обучения состоит только из модуля обработки свертки (conv), выходные внешние данные используют формат внешних данных модуля conv, что означает, что он, возможно, содержит заполненные данные, если ваш выход Z значение не является кратным N значение. Заполненные данные удаляются при использовании dlhdl.Workflow рабочий процесс. Если вы не используете dlhdl.Workflow рабочий процесс и непосредственно считайте выход из внешней памяти, удалите заполненные данные.

Полностью подключенный модуль Формат данных внешней памяти

Если ваша нейронная сеть для глубокого обучения состоит как из слоев свертки (conv), так и из полносвязных (fc), выход процессора глубокого обучения (DL) следует формату внешних памятей данных модуля fc.

На изображении показан пример формата выходных данных внешней памяти для полностью подключенного выходной функции размером шесть. В изображении A, B, C, D, E и F являются выходными функциями изображения.

Похожие темы