coder.TensorRTConfig

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

Описание

The 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 для выбора случайного подмножества изображений из набора данных изображения для выполнения калибровки. The 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;

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

Введенный в R2018b