coder.TensorRTConfig

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

Описание

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

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

Создание

Создайте объект настройки TensorRT при помощи coder.DeepLearningConfig функция с целевой библиотекой установила как 'tensorrt'.

Свойства

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

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

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

См. Предсказание Глубокого обучения при помощи примера NVIDIA TensorRT для 8-битного целочисленного предсказания для сети классификации логотипов при помощи TensorRT.

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

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

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

NVIDIA рекомендует, чтобы приблизительно 500 изображений были достаточны для калибровки. Обратитесь к документации TensorRT для получения дополнительной информации.

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

Примеры

свернуть все

Создайте функцию точки входа resnet_predict это использует coder.loadDeepLearningNetwork функционируйте, чтобы загрузить resnet50 (Deep Learning Toolbox) SeriesNetwork объект.

function out = resnet_predict(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('resnet50', 'myresnet');
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(224,224,3,'single')} -config cfg resnet_predict;

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

Введенный в R2018b