exponenta event banner

Предпосылки для глубокого обучения с помощью кодера MATLAB

Продукты MathWorks

Чтобы использовать MATLAB ® Coder™ для создания кода для сетей глубокого обучения, необходимо также установить:

  • Глубокое обучение Toolbox™

  • Интерфейс кодера MATLAB для библиотек глубокого обучения

Интерфейс кодера MATLAB для библиотек глубокого обучения не поддерживается для Online™ MATLAB.

Аппаратное и программное обеспечение сторонних производителей

Вы можете использовать кодер MATLAB для создания кода C++ для сетей глубокого обучения, развертываемых на процессорах Intel ® или ARM ®. Созданный код использует преимущества библиотек глубокого обучения, оптимизированных для целевого ЦП. Требования к аппаратному и программному обеспечению зависят от целевой платформы.

Кодер MATLAB можно также использовать для создания общего кода C или C++ для сетей глубокого обучения. Такой код C или C++ не зависит от каких-либо сторонних библиотек. Дополнительные сведения см. в разделе Создание общего кода C/C + + для сетей глубокого обучения.

Примечание

Пути к необходимым библиотекам программного обеспечения не должны содержать пробелы или специальные символы, например круглые скобки. В операционных системах Windows ® специальные символы и пробелы допускаются только в том случае, если включены имена файлов версии 8.3. Дополнительные сведения об именах файлов 8.3 см. в документации по Windows.

 Процессоры IntelПроцессоры ARM
Требования к аппаратным средствам

Процессор Intel с поддержкой Intel Advanced Vector Extensions 2 (Intel AVX2) инструкции.

Процессоры ARM Cortex-A, поддерживающие NEON расширение.

Библиотеки программного обеспечения

Библиотека Intel Math Kernel Library для глубоких нейронных сетей (MKL-DNN), версия 1.4. См. https://01.org/mkl-dnn

Не используйте предварительно созданную библиотеку, так как некоторые обязательные файлы отсутствуют. Вместо этого создайте библиотеку из исходного кода. См. инструкции по созданию библиотеки на GitHub ®.

Дополнительные сведения о построении см. в этой публикации в MATLAB Answers™: https://www.mathworks.com/matlabcentral/answers/447387-matlab-coder-how-do-i-build-the-intel-mkl-dnn-library-for-deep-learning-c-code-generation-and-dep

Вычислительная библиотека ARM для компьютерного зрения и машинного обучения, версии 18.11, 19.02, 19.05 и 20.02.1. См. https://developer.arm.com/technologies/compute-library

Укажите номер версии в coder.ARMNEONConfig объект конфигурации. Номер версии по умолчанию - v20.02.1.

Не используйте предварительно созданную библиотеку, поскольку она может быть несовместима с компилятором оборудования ARM. Вместо этого создайте библиотеку из исходного кода. Создайте библиотеку либо на хост-компьютере, либо непосредственно на целевом оборудовании. См. инструкции по созданию библиотеки на GitHub.

Папка, содержащая файлы библиотеки, например libarm_compute.so должно быть названо lib. Если папка имеет имя build, переименовать папку в lib.

Дополнительные сведения о построении см. в этой публикации в разделе Ответы MATLAB: https://www.mathworks.com/matlabcentral/answers/455590-matlab-coder-how-do-i-build-the-arm-compute-library-for-deep-learning-c-code-generation-and-deplo

Поддержка операционных систем

Windows, Linux ® и macOS.

Только Windows и Linux.

Компилятор C++

Кодер MATLAB находит и использует поддерживаемый установленный компилятор. Список поддерживаемых компиляторов см. в разделе Поддерживаемые и совместимые компиляторы на веб-сайте MathWorks ®.

Вы можете использовать mex -setup для изменения компилятора по умолчанию. См. раздел Изменение компилятора по умолчанию.

Компилятор C++ должен поддерживать C++ 11.

В Windows для создания кода, использующего библиотеку Intel MKL-DNN, с помощью codegen используйте Microsoft ® Visual Studio ® 2015 или более позднюю версию.

В Windows для создания общего кода C или C++, не использующего библиотеки сторонних производителей, используйте Microsoft Visual Studio или компилятор MinGW ®. Дополнительные сведения см. в разделе Создание общего кода C/C + + для сетей глубокого обучения.

Другое

Библиотека компьютерного зрения с открытым исходным кодом (OpenCV) версии 3.1.0 необходима для примеров глубокого обучения на базе ARM.

Примечание.Примеры требуют отдельных библиотек, таких как opencv_core.lib и opencv_video.lib. OpenCV библиотека, поставляемая с Computer Vision Toolbox™, не имеет требуемых библиотек, и установщик OpenCV не устанавливает их. Поэтому необходимо загрузить OpenCV и создайте библиотеки.

Дополнительные сведения см. в документации по OpenCV.

Переменные среды

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

ПлатформаИмя переменнойОписание
WindowsINTEL_MKLDNN

Путь к корневой папке установки библиотеки Intel MKL-DNN.

Например:

C:\Program Files\mkl-dnn

ARM_COMPUTELIB

Путь к корневой папке установки вычислительной библиотеки ARM на целевом оборудовании ARM.

Например:

/usr/local/arm_compute

Набор ARM_COMPUTELIB на аппаратном обеспечении цели ARM.

PATH

Путь к папке библиотеки Intel MKL-DNN.

Например:

C:\Program Files\mkl-dnn\lib

LinuxLD_LIBRARY_PATH

Путь к папке библиотеки Intel MKL-DNN.

Например:

/usr/local/mkl-dnn/lib/

Путь к папке вычислительной библиотеки ARM на целевом оборудовании.

Например:

/usr/local/arm_compute/lib/

Набор LD_LIBRARY_PATH на аппаратном обеспечении цели ARM.

INTEL_MKLDNN

Путь к корневой папке установки библиотеки Intel MKL-DNN.

Например:

/usr/local/mkl-dnn/

ARM_COMPUTELIB

Путь к корневой папке установки вычислительной библиотеки ARM на целевом оборудовании ARM.

Например:

/usr/local/arm_compute/

Набор ARM_COMPUTELIB на аппаратном обеспечении цели ARM.

macOSINTEL_MKLDNN

Путь к корневой папке установки библиотеки Intel MKL-DNN.

Например:

/usr/local/mkl-dnn

ОС на базе UNIX ® для целей ARMOPENCV_DIR

Путь к папке сборки OpenCV. Установите OpenCV для глубоких примеров обучения, использующих OpenCV.

Например:

/usr/local/opencv/build

Примечание

Чтобы создать код для Raspberry Pi™ с помощью пакета поддержки MATLAB для оборудования Raspberry Pi, необходимо установить переменные среды неинтерактивно. Инструкции см. в разделе https://www.mathworks.com/matlabcentral/answers/455591-matlab-coder-how-do-i-setup-the-environment-variables-on-arm-targets-to-point-to-the-arm-compute-li

Примечание

Для создания и выполнения примеров, использующих OpenCV, необходимо установить библиотеки OpenCV на целевой плате. При установке OpenCV в Linux убедитесь, что путь к файлам библиотеки и путь к файлам заголовка находятся в системном пути. По умолчанию файлы библиотеки и заголовков устанавливаются в стандартной папке, например /usr/local/lib/ и /usr/local/include/opencvсоответственно.

Для установки OpenCV на целевой плате установите OPENCV_DIR и PATH переменные среды, как описано в предыдущей таблице.

Связанные темы