Необходимые условия для глубокого обучения с MATLAB Coder

Продукты Mathworks

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

  • Deep Learning Toolbox™

  • MATLAB CODER для библиотек глубокого обучения

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

Стороннее Оборудование и программное обеспечение

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

Можно также использовать MATLAB Coder для генерации типовых кодов C or C++ для нейронных сетей для глубокого обучения. Такой код C or 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), v1.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 Compute Library для компьютерного зрения и машинного обучения, версии 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 Answers: 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 Coder находит и использует поддерживаемый установленный компилятор. Список поддерживаемых компиляторов см. в Поддерживаемые и совместимые компиляторы на MathWorks® веб-сайт.

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

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

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

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

Другое

Open Source Computer Vision Library (OpenCV), v3.1.0 требуется для примеров глубокого обучения на основе ARM.

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

Для получения дополнительной информации см. документацию OpenCV.

Переменные окружения

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

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

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

Для примера:

C:\Program Files\mkl-dnn

ARM_COMPUTELIB

Путь к корневой папке установки ARM Compute Library на целевом компьютере 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 Compute Library на целевом компьютере.

Для примера:

/usr/local/arm_compute/lib/

Задайте LD_LIBRARY_PATH на целевой компьютер ARM.

INTEL_MKLDNN

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

Для примера:

/usr/local/mkl-dnn/

ARM_COMPUTELIB

Путь к корневой папке установки ARM Compute Library на целевом компьютере 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 Hardware, необходимо установить переменные окружения не в интерактивном режиме. Инструкции см. в разделе 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 переменные окружения, как описано в предыдущей таблице.

Похожие темы