кодер. TensorRTConfig

Параметры, чтобы сконфигурировать генерацию кода глубокого обучения с библиотекой NVIDIA TensorRT

Описание

Объект coder.TensorRTConfig содержит высокопроизводительный оптимизатор вывода глубокого обучения NVIDIA® и библиотеку времени выполнения (TensorRT) определенные параметры. codegen использует те параметры для генерации кода CUDA® для глубоких нейронных сетей.

Чтобы использовать объект coder.TensorRTConfig для генерации кода, присвойте его свойству DeepLearningConfig объекта coder.gpuConfig, который вы передаете codegen.

Создание

Синтаксис

deepLearningCfg = coder.DeepLearningConfig('tensorrt')

Описание

пример

deepLearningCfg = coder.DeepLearningConfig('tensorrt') создает объект coder.TensorRTConfig для генерации кода глубокого обучения при помощи библиотеки TensorRT.

Свойства

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

Задайте точность входа типа данных тензора к сети или тензору вывод слоя. При выполнении вывода в 32-битных плаваниях используйте 'FP32'. Для полуточности используйте 'FP16'. Для 8-битного целого числа используйте 'INT8'. Значением по умолчанию является 'FP32'.

Точность INT8 требует, чтобы графический процессор CUDA с минимумом вычислил возможность 6,1. точность FP16 требует, чтобы графический процессор CUDA с минимумом вычислил возможность 7,0. Использование свойство ComputeCapability объекта GpuConfig установить соответствующее вычисляет значение возможности.

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

Когда вы выбираете опцию 'INT8', TensorRT™ квантует данные с плавающей точкой к int8. Перекалибровка выполняется с уменьшаемым набором калибровочных данных. Калибровочные данные должны присутствовать в месте данных изображения, заданном DataPath.The, изображения должны быть в папках, имена которых соответствуют меткам для изображений.

Числовое значение, задающее пакетный размер для калибровки. Это значение не должно быть больше, чем количество изображений, существующих в наборе данных изображений. Эта опция применима только, когда DataType установлен в 'INT8'.

Значение строки только для чтения, которое задает имя целевой библиотеки.

Примеры

свернуть все

Создайте функцию точки входа alexneteg, который использует функцию coder.loadDeepLearningNetwork, чтобы загрузить объект alexnet SeriesNetwork.

function out = alexneteg(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('alexnet', 'myalexnet');
end

out = predict(mynet,in);

Создайте объект настройки coder.gpuConfig для генерации кода MEX.

cfg = coder.gpuConfig('mex');

Установите выходной язык на C++.

cfg.TargetLang = 'C++';

Создайте объект настройки глубокого обучения coder.TensorRTConfig. Присвойте его свойству DeepLearningConfig объекта настройки cfg.

cfg.DeepLearningConfig = coder.DeepLearningConfig('tensorrt');

Используйте опцию -config функции codegen, чтобы передать объект настройки cfg. Функция codegen должна определить размер, класс и сложность входных параметров функции MATLAB®. Используйте опцию -args, чтобы задать размер входа к функции точки входа.

codegen -args {ones(227,227,3,'single')} -config cfg alexneteg

Команда codegen помещает все сгенерированные файлы в папку codegen. Папка содержит код CUDA для функции точки входа alexneteg.cu, заголовок и исходные файлы, содержащие определения класса C++ для замысловатой нейронной сети (CNN), веса и файлов смещения.

Введенный в R2018b