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. FP16 точность требует, чтобы графический процессор CUDA с минимумом вычислил возможность 7,0. Используйте ComputeCapability свойство GpuConfig объект установить соответствующее вычисляет значение возможности.

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

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

Числовое значение, задающее количество пакетов для int8 калибровка. Программное обеспечение использует batchsize значение, заданное для вывода и, вычисляет продукт batchsize*NumCalibrationBatches выбрать случайное подмножество изображений от набора данных изображений, чтобы выполнить калибровку. batchsize*NumCalibrationBatches значение не должно быть больше количества изображений, существующих в наборе данных изображений. Значение по умолчанию равняется 1. Эта опция применима только когда 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