Main Content

ディープ ネットワーク デザイナーから MATLAB コードを生成

ディープ ネットワーク デザイナー アプリを使用すると、アプリにおけるネットワークの構築、編集、学習を再作成する MATLAB® コードを生成できます。

[デザイナー] タブでは、次を行うライブ スクリプトを生成できます。

  • すべての初期パラメーターを含むネットワーク内の層の再作成。[エクスポート][パラメーターを含めてネットワーク コードを生成] を選択します。

  • ネットワーク内の層の再作成。[エクスポート][パラメーターなしでネットワーク コードを生成] を選択します。

[学習] タブでは、次のライブ スクリプトを生成できます。

  • ディープ ネットワーク デザイナーで作成したネットワークの構築と学習の再作成。[エクスポート][学習用コードの生成] を選択します。

ネットワーク層を再作成する MATLAB コードの生成

ディープ ネットワーク デザイナーで構築したネットワークを再作成する MATLAB コードを生成します。[デザイナー] タブで次のオプションのいずれかを選択します。

  • すべての初期パラメーターを含むネットワーク内の層を再作成するには、[エクスポート][パラメーターを含めてネットワーク コードを生成] を選択します。アプリによって、ネットワークからライブ スクリプトと、初期パラメーター (重みとバイアス) を含む MAT ファイルが作成されます。スクリプトを実行して、MAT ファイルからの学習可能なパラメーターを含むネットワーク層を再作成します。転移学習を実行する場合、このオプションを使用して重みを保持します。

  • ネットワーク内の層のみを再作成するには、[エクスポート][パラメーターなしでネットワーク コードを生成] を選択します。このネットワークには、事前学習済みの重みなどの初期パラメーターが含まれません。

生成されたスクリプトを実行すると、ネットワーク アーキテクチャがワークスペースの変数として返されます。ネットワーク アーキテクチャによって、変数は lgraph という名前の層グラフ、または layers という名前の層配列になります。ディープ ネットワーク デザイナーからエクスポートしたネットワークに学習させる例については、ディープ ネットワーク デザイナーを使用したシンプルなシーケンス分類ネットワークの作成を参照してください。

ネットワークに学習させる MATLAB コードの生成

ネットワークの構築と学習をディープ ネットワーク デザイナーで再作成するには、学習後に MATLAB コードを生成します。ディープ ネットワーク デザイナーを使用してイメージ分類ネットワークに学習させる例については、ディープ ネットワーク デザイナーを使用した転移学習を参照してください。

学習が完了したら、[学習] タブの [エクスポート][学習用コードの生成] を選択します。アプリによって、ネットワークからライブ スクリプトと、初期パラメーター (重みとバイアス) を含む MAT ファイルが作成されます。データをワークスペースからディープ ネットワーク デザイナーにインポートする場合、これも生成される MAT ファイルに含まれます。

次の図は、ディープ ネットワーク デザイナーを使用して生成されたライブ スクリプトの例を示しています。

Example live script generated using Deep Network Designer

生成されたスクリプトを実行すると、ネットワークの構築 (MAT ファイルからの学習可能なパラメーターを含む)、データのインポート、学習オプションの設定、およびネットワークの学習が行われます。生成されたスクリプトを調べて、ネットワークの構築と学習をコマンド ラインで行う方法を確認します。

メモ

ネットワーク、学習データおよび検証データ、または学習オプションを変更する場合は、ライブ スクリプトを生成する前に [学習] をクリックします。

ネットワークを使用した予測

学習済みのネットワークが変数 net に含まれているとします。学習済みネットワークを予測に使用するには、関数 predict を使用します。たとえば、学習済みイメージ分類ネットワークがあるとします。エクスポートされたネットワークを使用して peppers.png のクラスを予測します。

img = imread("peppers.png");
img = imresize(img, net.Layers(1).InputSize(1:2));
label = predict(net, img);
imshow(img);
title(label);

参照

[1] Kudo, Mineichi, Jun Toyama, and Masaru Shimbo. “Multidimensional Curve Classification Using Passing-through Regions.” Pattern Recognition Letters 20, no. 11–13 (November 1999): 1103–11. https://doi.org/10.1016/S0167-8655(99)00077-X.

[2] Kudo, Mineichi, Jun Toyama, and Masaru Shimbo. Japanese Vowels Data Set. Distributed by UCI Machine Learning Repository. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels.

参考

| |

関連するトピック