Main Content

coder.TensorRTConfig

NVIDIA TensorRT ライブラリによる深層学習コード生成を構成するためのパラメーター

説明

coder.TensorRTConfig オブジェクトには、NVIDIA® の高性能な深層学習用推論オプティマイザーおよびランタイム ライブラリ (TensorRT) 固有のパラメーターが含まれています。codegen は、深層ニューラル ネットワークの CUDA® コード生成にこれらのパラメーターを使用します。

コード生成に coder.TensorRTConfig オブジェクトを使用するには、これを、codegen に渡す coder.gpuConfig オブジェクトの DeepLearningConfig プロパティに割り当てます。

作成

ターゲット ライブラリを 'tensorrt' に設定して関数 coder.DeepLearningConfig を使用し、TensorRT 構成オブジェクトを作成します。

プロパティ

すべて展開する

サポートされている層で推論計算の精度を指定します。32 ビット浮動小数点の推論を実行する場合、'fp32' を使用します。半精度には、'fp16' を使用します。8 ビット整数には、'int8' を使用します。既定値は 'fp32' です。

INT8 精度では、Compute Capability 6.1、7.0、またはそれ以上の CUDA GPU が必要です。Compute Capability 6.2 は INT8 の精度をサポートしていません。FP16 の精度には、Compute Capability 5.3、6.0、6.2、またはそれ以上の CUDA GPU が必要です。GpuConfig オブジェクトの ComputeCapability プロパティを使用して、適切な Compute Capability 値に設定します。

TensorRT を使用したロゴ分類ネットワークに対して 8 ビット整数で予測を実行する例については、NVIDIA TensorRT ライブラリを使用した深層学習予測を参照してください。

再キャリブレーション中に使用されるイメージ データセットの位置。既定値は '' です。このオプションは、DataType'int8' に設定されている場合にのみ適用できます。

'INT8' オプションを選択すると、TensorRT™ は浮動小数点データを int8 に量子化します。再キャリブレーションは、絞り込んだキャリブレーション データのセットを使用して実行されます。キャリブレーション データは、DataPath で指定したイメージ データの位置に存在していなければなりません。

int8 のキャリブレーション バッチの数を指定する数値。ソフトウェアは、batchsize*NumCalibrationBatches の積を使用してイメージ データセットからイメージのランダムなサブセットを選択し、キャリブレーションを実行します。batchsize*NumCalibrationBatches の値は、イメージ データセット内に存在するイメージ数を超えてはなりません。このオプションは、DataType'int8' に設定されている場合にのみ適用できます。

NVIDIA は、約 500 個のイメージを使用してキャリブレーションすることを推奨しています。詳細については、TensorRT のドキュメンテーションを参照してください。

読み取り専用の値。ターゲット ライブラリ名を指定します。

すべて折りたたむ

関数 coder.loadDeepLearningNetwork を使用して resnet50 (Deep Learning Toolbox) SeriesNetwork オブジェクトを読み込むエントリポイント関数 resnet_predict を作成します。

function out = resnet_predict(in)

persistent mynet;
if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('resnet50', 'myresnet');
end

out = predict(mynet,in);

MEX コード生成用の coder.gpuConfig 構成オブジェクトを作成します。

cfg = coder.gpuConfig('mex');

ターゲット言語を C++ に設定します。

cfg.TargetLang = 'C++';

coder.TensorRTConfig 深層学習構成オブジェクトを作成します。これを cfg 構成オブジェクトの DeepLearningConfig プロパティに割り当てます。

cfg.DeepLearningConfig = coder.DeepLearningConfig('tensorrt');

関数 codegen-config オプションを使用して cfg 構成オブジェクトを渡します。関数 codegen は、MATLAB® 関数入力のサイズ、クラス、および実数/複素数を決定しなければなりません。-args オプションを使用して、エントリポイント関数の入力のサイズを指定します。

codegen -args {ones(224,224,3,'single')} -config cfg resnet_predict;

codegen コマンドはすべての生成されたファイルを codegen フォルダーに配置します。このフォルダーには、エントリポイント関数 resnet_predict.cu の CUDA コード、ヘッダー ファイル、畳み込みニューラル ネットワーク (CNN) の C++ クラス定義を含むソース ファイル、重みファイル、およびバイアス ファイルが含まれます。

バージョン履歴

R2018b で導入