coder.TensorRTConfig

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

Описание

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

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

Создание

Описание

пример

deepLearningCfg = coder.DeepLearningConfig('tensorrt') создает coder.TensorRTConfig объект для генерации кода глубокого обучения при помощи библиотеки 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 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