主要内容

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

coder.loadDeepLearningNetwork

深層学習ネットワークモデルの読み込み

説明

= coder.loadDeepLearningNetwork (文件名は,文件名垫ファイルに保存された事前学習済みの深層学習SeriesNetwork(深度学习工具箱)DAGNetwork(深度学习工具箱)yolov2ObjectDetector(计算机视觉工具箱)またはssdObjectDetector(计算机视觉工具箱)オブジェクトを読み込みます。文件名は1つのSeriesNetworkDAGNetworkyolov2ObjectDetectorまたはssdObjectDetectorオブジェクトが含まれるMATLAB®パス上に存在する有効な垫ファイルでなければなりません。垫ファイルは読み込まれるネットワークのみを含んでいなければなりません。

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

= coder.loadDeepLearningNetwork (___network_nameは,ネットワークから生成されるc++クラスに名前を付けるオプションをもつ净= coder.loadDeepLearningNetwork(文件名)と同じです。network_nameは,垫ファイルに保存されているか,関数によって指定されているネットワークオブジェクトの記述名です。ネットワーク名はc++で有効な識別子である字符型でなければなりません。

ネットワークオブジェクトの推論からコードを生成するときにこの関数を使用します。この関数はこのネットワークからc++クラスを生成します。クラス名は垫ファイル名または関数名から派生します。

すべて折りたたむ

関数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を永続的なmynetSeriesNetworkオブジェクトに読み込むエントリポイント関数myVGG16を作成します。

函数= myVGG16(中)持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“vgg16.mat”“myVGGnet”);结束=预测(mynet,);

永続的なオブジェクトは,入力で预测メソッドを呼び出す関数のその後の呼び出し中にネットワークオブジェクトの再構成と再読み込みを回避します。

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

在= imread (“peppers.png”);在= imresize(在[224224]);

墨西哥人コード生成用のcoder.config構成オブジェクトを作成し,ターゲット言語をc++に設定します。構成オブジェクトで,targetlibを使用してDeepLearningConfig“mkldnn”として設定します。関数codegenは,MATLAB関数入力のサイズ,クラス,実数/複素数を決定しなければなりません。arg游戏オプションを使用して,エントリポイント関数への入力のサイズを指定します。配置オプションを使用して,コード生成構成オブジェクトを渡します。

cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“mkldnn”);codegenarg游戏{(224224 3 uint8)}配置cfgmyVGG16报告

codegenコマンドは生成されたすべてのファイルをcodegenフォルダーに入れます。フォルダーには,エントリポイント関数myVGG16.cppのc++コード,ヘッダー,畳み込みニューラルネットワーク(CNN)のc++クラス定義が含まれるソースファイル,重み,バイアスファイルが含まれます。

入力イメージに対してVGG-16予測を呼び出して,予測された上第五位つのラベルを表示します。

predict_scores = myVGG16_mex(的);[分数,indx] =排序(predict_scores“下”);网= coder.loadDeepLearningNetwork (“vgg16.mat”);一会= net.Layers . class(结束);disp(类名(indx (1:5)));
甜椒黄瓜杂货店,橡子南瓜,冬南瓜

関数coder.loadDeepLearningNetworkを使用してresnet50系列ネットワークを読み込み,このネットワーク用のCUDA®コードを生成します。

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

函数= resnetFun(中)持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“resnet50”“myresnet”);结束=预测(mynet,);

永続的なオブジェクトは,入力で预测メソッドを呼び出す関数のその後の呼び出し中にネットワークオブジェクトの再構成と再読み込みを回避します。

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

在= imread (“peppers.png”);在= imresize(在[224224]);

墨西哥人コード生成用のcoder.gpuConfig構成オブジェクトを作成し,ターゲット言語をc++に設定します。関数codegenは,MATLAB関数入力のサイズ,クラス,実数/複素数を決定しなければなりません。arg游戏オプションを使用して,エントリポイント関数への入力のサイズを指定し,配置オプションを使用してコード構成オブジェクトを渡します。

cfg = coder.gpuConfig (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“cudnn”);codegenarg游戏{(224224 3 uint8)}配置cfgresnetFun报告

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

入力引数

すべて折りたたむ

事前学習済みのSeriesNetworkDAGNetworkyolov2ObjectDetectorまたはssdObjectDetectorオブジェクトが含まれる垫ファイルの名前を指定します。

データ型:字符串

事前学習済みのSeriesNetworkDAGNetworkyolov2ObjectDetectorまたはssdObjectDetectorオブジェクトを返す関数の名前を指定します。

データ型:字符串

垫ファイルに保存されるネットワークオブジェクトの記述名。c++で有効な識別子である字符型でなければなりません。

データ型:字符

出力引数

すべて折りたたむ

ネットワークの推論。SeriesNetworkDAGNetworkyolov2ObjectDetectorまたはssdObjectDetectorオブジェクトとして返されます。

制限

  • coder.loadDeepLearningNetworkは複数のネットワークをもつ垫ファイルの読み込みはサポートしていません。

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

R2017bで導入