Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

coder.TensorRTConfig

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

説明

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

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

作成

説明

deepLearningCfg = coder.DeepLearningConfig('tensorrt') は、TensorRT ライブラリを使用して深層学習コード生成用の coder.TensorRTConfig オブジェクトを作成します。

プロパティ

すべて展開する

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

INT8 の精度には、Compute Capability 6.1 以上の CUDA GPU が必要です。Compute Capability 6.2 は INT8 の精度をサポートしていません。FP16 の精度には、Compute Capability 7.0 以上の 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 で導入