exponenta event banner

кодер. 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 объект для установки соответствующего значения вычислительной способности.

Пример 8-битного целочисленного прогнозирования для сети классификации логотипов с помощью TensorRT см. в разделе Прогнозирование глубокого обучения с использованием NVIDIA 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