Глубокое обучение для GPU Coder

Сгенерируйте код CUDA® для глубоких нейронных сетей

Глубокое обучение является ветвью машинного обучения, которое учит компьютеры делать то, что прибывает естественно к людям: учитесь на опыте. Алгоритмы обучения используют вычислительные методы, чтобы “узнать” об информации непосредственно из данных, не используя предопределенное уравнение как модель. Глубокое обучение использует сверточные нейронные сети (CNNs), чтобы изучить полезные представления данных непосредственно из изображений. Нейронные сети комбинируют несколько нелинейных слоев обработки, с помощью простых элементов, действующих параллельно и вдохновленный биологическими нервными системами. Модели глубокого обучения обучены с помощью большого набора маркированных данных и архитектуры нейронной сети, которая содержит много слоев, обычно включая некоторые сверточные слои.

Можно использовать GPU Coder™ в тандеме с Deep Learning Toolbox™, чтобы сгенерировать код и развернуть CNN на нескольких встроенных платформах, которые используют NVIDIA® или процессоры GPU ARM®. Deep Learning Toolbox обеспечивает простые команды MATLAB® для создания и соединения слоев глубокой нейронной сети. Доступность предварительно обученных сетей и примеров, таких как распознавание изображений и приложения помощи драйвера дает возможность использовать GPU Coder в глубоком обучении, даже без экспертных знаний о нейронных сетях, глубоком обучении или усовершенствованных алгоритмах компьютерного зрения.

Приложения

GPU CoderСгенерируйте код графического процессора из кода MATLAB
Check GPU InstallПроверьте и настройте среду генерации кода графического процессора

Функции

codegenСгенерируйте код C/C++ из кода MATLAB
cnncodegenСгенерируйте код и создайте статическую библиотеку для Ряда или Сети DAG
coder.loadDeepLearningNetworkЗагрузите модель нейронной сети для глубокого обучения
coder.DeepLearningConfigСоздайте объекты настройки генерации кода глубокого обучения
coder.MklDNNConfigПараметры, чтобы сконфигурировать генерацию кода глубокого обучения с Math Kernel Library Intel для Глубоких нейронных сетей
coder.CuDNNConfigПараметры, чтобы сконфигурировать генерацию кода глубокого обучения с библиотекой CUDA Deep Neural Network
coder.TensorRTConfigПараметры, чтобы сконфигурировать генерацию кода глубокого обучения с библиотекой NVIDIA TensorRT
coder.getDeepLearningLayersПоддержите слои сверточной нейронной сети для генерации кода для определенной библиотеки глубокого обучения
gpucoderexamplesПримеры продукта

Объекты

coder.gpuConfigПараметры конфигурации для генерации кода CUDA из кода MATLAB с GPU Coder
coder.gpuEnvConfigСоздайте объект настройки, содержащий параметры, переданные coder.checkGpuInstall для того, чтобы выполнить проверки среды генерации кода графического процессора

Основы

Глубокое обучение в MATLAB (Deep Learning Toolbox)

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

Узнайте о сверточных нейронных сетях (Deep Learning Toolbox)

Введение в сверточные нейронные сети и как они работают в MATLAB.

Предварительно обученные глубокие нейронные сети (Deep Learning Toolbox)

Узнать, как загружать и использовать предварительно обученные сверточные нейронные сети в классификации, изучении передачи и извлечении признаков.

Обучение

Глубокое обучение для изображений (Deep Learning Toolbox)

Обучите сверточные нейронные сети с нуля или используйте предварительно обученные сети, чтобы быстро изучить новые задачи

Развернитесь к графическим процессорам

Рабочий процесс

Обзор рабочего процесса генерации кода CUDA для сверточных нейронных сетей.

Поддерживаемые сети и слои

Сети и слои поддержаны для генерации кода.

Сгенерированная иерархия классов CNN

Архитектура сгенерированного класса CNN и его методов.

Загрузите предварительно обученные сети для генерации кода

Создайте SeriesNetwork или DAGNetwork объект для генерации кода.

Генерация кода для Нейронных сетей для глубокого обучения при помощи cuDNN

Сгенерируйте код для предварительно обученных сверточных нейронных сетей при помощи cuDNN библиотеки.

Генерация кода для нейронных сетей для глубокого обучения при помощи TensorRT

Сгенерируйте код для предварительно обученных сверточных нейронных сетей при помощи библиотеки TensorRT.

Генерация кода для нейронных сетей для глубокого обучения, предназначающихся для ARM Мали графические процессоры

Сгенерируйте Код С++ для прогноза от нейронной сети для глубокого обучения, предназначаясь для ARM процессор GPU Мали.

Факторы формата данных в глубоком обучении

Основные факторы формата данных для авторского примера основные функции.

Сопутствующая информация

Рекомендуемые примеры

Integrating Deep Learning with GPU Coder into Simulink

Интеграция глубокого обучения для GPU Coder в Simulink

Интегрируйте код CUDA®, сгенерированный для нейронной сети для глубокого обучения в Simulink®. Графический процессор coder™ не поддерживает генерацию кода для блоков Simulink, но можно все еще использовать вычислительную мощность графических процессоров в Simulink путем генерации динамически подключаемой библиотеки (dll) с GPU Coder и затем интеграции его в Simulink как Блок s-function при помощи Legacy Code Tool. Для получения дополнительной информации смотрите legacy_code. Чтобы проиллюстрировать эту концепцию, пример использует Обнаружение Маршрута, Оптимизированное с GPU Coder. Исходный пример использовал файл C++ с функциями OpenCV, чтобы считать системы координат, чертить маршруты и наложить информацию о частоте кадров о видеовыходе. Этот пример использует блоки Simulink от Системы Компьютерного зрения Toolbox™, чтобы выполнить те же операции.