Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.CuDNNConfig

CUDA Deep Neural Network library による深層学習コード生成を構成するためのパラメーター

説明

coder.CuDNNConfig オブジェクトには、深層ニューラル ネットワークの CUDA® コード生成に codegen で使用される NVIDIA® cuDNN 固有のパラメーターが含まれています。

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

作成

説明

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

プロパティ

すべて展開する

自動調整機能を有効または無効にします。自動調整を有効にすると、cuDNN ライブラリで最速の畳み込みアルゴリズムを見つけられるようになります。これにより、SegNetResNet などの規模が大きなネットワークのパフォーマンスが向上します。

ネットワークへのテンソル データ型入力の精度を指定します。32 ビット浮動小数点の推論を実行する場合、'fp32' を使用します。8 ビット整数には、'int8' を使用します。既定値は 'fp32' です。

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

キャリブレーション データを含んだ MAT ファイルの場所。既定値は '' です。このオプションは、DataType'int8' に設定されている場合にのみ適用できます。

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

すべて折りたたむ

関数 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.CuDNNConfig 深層学習構成オブジェクトを作成し、それを cfg 構成オブジェクトの DeepLearningConfig プロパティに割り当てます。

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

関数 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 で導入