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

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

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

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

Приложения

развернуть все

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

Функции

развернуть все

codegenСгенерируйте код C/C++ из кода MATLAB
cnncodegenСгенерируйте код для нейронной сети для глубокого обучения, чтобы предназначаться для графического процессора ARM Mali
coder.loadDeepLearningNetworkЗагрузите модель нейронной сети для глубокого обучения
coder.DeepLearningConfigСоздайте объекты настройки генерации кода глубокого обучения
coder.getDeepLearningLayersПолучите список слоев, поддержанных для генерации кода для определенной библиотеки глубокого обучения
coder.regenerateDeepLearningParametersРегенерируйте файлы, содержащие сеть learnables, и утверждает параметры

Объекты

развернуть все

coder.CuDNNConfigПараметры, чтобы сконфигурировать генерацию кода глубокого обучения с библиотекой CUDA Deep Neural Network
coder.TensorRTConfigПараметры, чтобы сконфигурировать генерацию кода глубокого обучения с библиотекой NVIDIA TensorRT
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 для сверточных нейронных сетей.

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

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

Генерация кода для dlarray

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

Ограничения dlarray для Генерации кода

Придерживайтесь ограничений генерации кода для массивов глубокого обучения.

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

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

Темы

MATLAB

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

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

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

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

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

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

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

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

Обновите сетевые параметры после генерации кода

Выполните обновления генерации кода сообщения параметров нейронной сети для глубокого обучения.

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

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

Квантование глубоких нейронных сетей

Изучите эффекты квантования и как визуализировать динамические диапазоны сетевых слоев свертки.

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

Квантуйте и сгенерируйте код для предварительно обученной сверточной нейронной сети.

Обнаружение маршрута, оптимизированное с GPU Coder

В этом примере показано, как сгенерировать код CUDA® от нейронной сети для глубокого обучения, представленной SeriesNetwork объект.

Обнаружение дорожного знака и распознавание

В этом примере показано, как сгенерировать код CUDA® MEX для обнаружения дорожного знака и приложения для распознавания, которое использует глубокое обучение.

Сеть распознавания логотипа

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

Генерация кода для сети Семантической Сегментации, которая использует U-net

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

Генерация кода для сети Семантической Сегментации

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

Генерация кода для глубокой нейронной сети шумоподавления

В этом примере показано, как сгенерировать CUDA® MEX из кода MATLAB® и denoise полутоновых изображений при помощи сверточной нейронной сети шумоподавления (DnCNN [1]).

Simulink

Генерация кода графического процессора для нейронных сетей для глубокого обучения Используя блок MATLAB function

Симулируйте и сгенерируйте код для моделей глубокого обучения в Simulink с помощью блоков MATLAB function.

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

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

Предназначение для NVIDIA встроенные Советы

Создайте и разверните в NVIDIA платы графического процессора.

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

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

Code Generation for a Sequence-to-Sequence LSTM Network

Генерация кода для сети от последовательности к последовательности LSTM

Демонстрирует, как сгенерировать код CUDA® для сети долгой краткосрочной памяти (LSTM). Пример генерирует приложение MEX, которое делает предсказания на каждом шаге входа timeseries. Продемонстрированы два метода: метод с помощью стандартной сети LSTM и метода, усиливающего поведение с сохранением информации той же сети LSTM. Этот пример использует данные о датчике акселерометра из смартфона, продолжил тело и делает предсказания на действии владельца. Пользовательские перемещения классифицируются в одну из пяти категорий, а именно, танца, выполнения, нахождения, положения и обхода. Пример использует предварительно обученную сеть LSTM. Для получения дополнительной информации об обучении смотрите Последовательность к Классификации Последовательностей Используя пример Глубокого обучения от Deep Learning Toolbox™.

Code Generation for a Deep Learning Simulink Model that Performs Lane and Vehicle Detection

Генерация кода для Глубокого обучения Модель Simulink, которая Выполняет Обнаружение Маршрута и Транспортного средства

Разработайте приложение CUDA® из модели Simulink®, которая выполняет маршрут и сверточные нейронные сети (CNN) использования обнаружения транспортного средства. Этот пример берет системы координат видео трафика как вход, выходные параметры два контура маршрута, которые соответствуют левым и правым маршрутам автомобиля, оборудованного датчиком, и обнаруживает транспортные средства в системе координат. Этот пример использует предварительно обученную сеть обнаружения маршрута от Обнаружения Маршрута, Оптимизированного с примером GPU Coder GPU Coder Toolbox™. Для получения дополнительной информации смотрите Обнаружение Маршрута, Оптимизированное с GPU Coder. Этот пример также использует предварительно обученную сеть обнаружения транспортного средства от Обнаружения объектов Используя пример YOLO v2 Глубокого обучения Компьютерного зрения toolbox™. Для получения дополнительной информации смотрите, что Обнаружение объектов Использует Глубокое обучение (Computer Vision Toolbox) YOLO v2.