主要内容

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

Coder.LoadDeePlearningnetwork.

深层学习ネットワークモデルの読み込み

说明

= coder.loadDeepLearningNetwork(文档名称は,文档名称MATファイルに保存された事前学习済みの深层学习SeriesNetwork(深度学习工具箱)Dagnetwork.(深度学习工具箱)yolov2ObjectDetector(计算机视觉工具箱),またはssdObjectDetector(计算机视觉工具箱)オブジェクトを読み込みます。文档名称は,単一のSeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトが含まれた,MATLAB®パス上に存在する有效なMATファイルでなければなりません.MATファイルには,読み込まれるネットワークのみが含まれていなければなりません。

= coder.loadDeepLearningNetwork(functionnameは,事前学习済みの深层学习SeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトを返す关数を呼び出します。functionnameは,SeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトを返す,MATLABパス上に存在する关数の名前でなければなりません。

= coder.loadDeepLearningNetwork(___网络名称は,净= coder.loadDeepLearningNetwork(文件名)と同じですが,ネットワークから生成されるC ++クラスに名前を付けるためのオプションを指定しています。网络名称は,MATファイルに保存されているネットワークオブジェクトの记述名か,关数の参照先のネットワークオブジェクトの记述名です。ネットワークの名前は,C ++の有效な识别子である烧焦型でなければなりません。

ネットワークオブジェクト推论からコードを生成する场合,この关数を使用します。この关数は,このネットワークからC ++クラスを生成します。クラス名はMATファイル名または关数名から派生します。

すべて折りたたむ

关数Coder.LoadDeePlearningnetwork.を使用してVGG-16系列ネットワークを読み込み,このネットワークのC ++コードを生成します。

事前学习済みのVGG-16ネットワークを含む垫ファイルを取得します。

URL ='//www.tatmou.com/金宝appsupportfiles/gpucoder/cnn_models/VGG/vgg16.mat';websave('vgg16.mat'URL);

关数Coder.LoadDeePlearningnetwork.を使用してvgg16.matを永続我的网SeriesNetworkオブジェクトに読み込むエントリポイント关数myVGG16を作成します。

功能OUT = myVGG16(上)执着的我的网;如果的isEmpty(我的网)我的网= coder.loadDeepLearningNetwork('vgg16.mat''myVGGnet');结尾OUT =预测(我的网,在);

この永続オブジェクトによって,入力に対して预测メソッドを呼び出す关数のそれ以降の呼び出し时に,ネットワークオブジェクトの再构成と再読み込みが回避されます。

事前学习済みのVGG-16ネットワークの入力层は,サイズが224x224x3のイメージを受け入れます。以下のコード行を使用してグラフィックスファイルから入力イメージを読み取り,そのサイズを224x224に変更します。

在= imread('peppers.png');在= imresize(在,[224224]);

MEXコード生成用にcoder.config構成オブジェクトを作成し,ターゲット言語をc++に設定します。この構成オブジェクトでは,targetlib'mkldnn'にしてDeepLearningConfigを设定します。关数代码生成は,MATLAB関数入力のサイズ,クラス,および実数/複素数を決定しなければなりません。- args.オプションを使用して,エントリポイント关数の入力のサイズを指定します。-configオプションを使用してコード构成オブジェクトを渡します。

CFG = coder.config('MEX');cfg.TargetLang ='C ++';cfg.DeepLearningConfig = coder.DeepLearningConfig('mkldnn');代码生成-  args.{酮(224,224,3, 'UINT8')}-configCFGmyVGG16-报告;

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

入力イメージでVGG-16预测を呼び出し,上位5つの予测されたラベルを表示します。

predict_scores = myVGG16_mex(IN);[分数,INDX] =排序(predict_scores,“下降”);净= coder.loadDeepLearningNetwork('vgg16.mat');类名= net.Layers(结束).Classes;DISP(类名(INDX(1:5)));
青椒黄瓜杂货店橡子南瓜南瓜

关数Coder.LoadDeePlearningnetwork.を使用してresnet50系列ネットワークを読み込み,このネットワークからCUDA®コードを生成します。

关数Coder.LoadDeePlearningnetwork.を使用して深学习工具箱™のツールボックス关数resnet50を呼び出すエントリポイント关数resnetFunを作成します。この关数は事前学习済みのRESNET-50ネットワークを返します。

功能OUT = resnetFun(上)执着的我的网;如果的isEmpty(我的网)我的网= coder.loadDeepLearningNetwork('resnet50''myresnet');结尾OUT =预测(我的网,在);

この永続オブジェクトによって,入力に対して预测メソッドを呼び出す关数のそれ以降の呼び出し时に,ネットワークオブジェクトの再构成と再読み込みが回避されます。

事前学习済みのRESNET-50ネットワークの入力层は,サイズが224x224x3のイメージを受け入れます。グラフィックスファイルから入力イメージを読み取り,そのサイズを224x224に変更するには,次のコード行を使用します。

在= imread('peppers.png');在= imresize(在,[224224]);

MEXコード生成用にcoder.gpuConfig构成オブジェクトを作成し,ターゲット言语をC ++に设定します。关数代码生成は,MATLAB関数入力のサイズ,クラス,および実数/複素数を決定しなければなりません。- args.オプションを使用してエントリポイント关数の入力のサイズを指定し,-configオプションを使用してコード构成オブジェクトを渡します。

CFG = coder.gpuConfig('MEX');cfg.TargetLang ='C ++';cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn');代码生成-  args.{酮(224,224,3, 'UINT8')}-configCFGresnetFun-报告;

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

入力数

すべて折りたたむ

事前学习済みのSeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトを含むMATファイルの名前を指定します。

データ型:细绳

事前学习済みのSeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトを返す关数の名前を指定します。

データ型:细绳

MATファイルに保存されたネットワークオブジェクトの记述名。これは,C ++の有效な识别子である烧焦型でなければなりません。

データ型:烧焦

出力引数

すべて折りたたむ

ネットワーク推论。SeriesNetworkDagnetwork.yolov2ObjectDetector,またはssdObjectDetectorオブジェクトとして返されます。

制限

  • Coder.LoadDeePlearningnetwork.は复数のネットワークを含むMATファイルの読み込みをサポートしていません。

  • 垫ファイルには,読み込まれるネットワークのみが含まれていなければなりません。

R2017bで導入