Main Content

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

コード生成用の事前学習済みのネットワークの読み込み

事前学習済み畳み込みニューラル ネットワーク (CNN) のコードを生成できます。コード ジェネレーターにネットワークを提供するには、学習済みネットワークから SeriesNetwork (Deep Learning Toolbox)DAGNetwork (Deep Learning Toolbox)yolov2ObjectDetector (Computer Vision Toolbox)、または ssdObjectDetector (Computer Vision Toolbox) オブジェクトを読み込みます。

coder.loadDeepLearningNetwork を使用したネットワークの読み込み

coder.loadDeepLearningNetwork を使用して、コード生成でサポートされているネットワークからネットワーク オブジェクトを読み込むことができます。ネットワークを MAT ファイルから指定できます。MAT ファイルには、読み込まれるネットワークのみが含まれていなければなりません。

たとえば、関数 trainNetwork (Deep Learning Toolbox) を使用して myNet と呼ばれる事前学習済みのネットワーク オブジェクトを作成するとします。次に、「save」と入力してワークスペースを保存します。これにより、ネットワーク オブジェクトを含む matlab.mat と呼ばれるファイルが作成されます。ネットワーク オブジェクト myNet を読み込むには、次のように入力します。

net = coder.loadDeepLearningNetwork('matlab.mat');

次のような事前学習済みの SeriesNetwork (Deep Learning Toolbox)DAGNetwork (Deep Learning Toolbox)yolov2ObjectDetector (Computer Vision Toolbox)、または ssdObjectDetector (Computer Vision Toolbox) オブジェクトを返す関数の名前を指定し、ネットワークを指定することもできます。

たとえば、次のように入力してネットワーク オブジェクトを読み込みます。

net = coder.loadDeepLearningNetwork('googlenet');

前述の一覧の Deep Learning Toolbox™ 関数では、その関数のサポート パッケージをインストールする必要があります。事前学習済みの深層ニューラル ネットワーク (Deep Learning Toolbox)を参照してください。

コード生成のネットワーク オブジェクトの指定

codegen またはアプリを使用してコードを生成する場合、coder.loadDeepLearningNetwork を使用してエントリポイント関数の内部でネットワーク オブジェクトを読み込みます。次に例を示します。

function out = myNet_predict(in) %#codegen

persistent mynet;

if isempty(mynet)
    mynet = coder.loadDeepLearningNetwork('matlab.mat');
end
out = predict(mynet,in);

alexnetinceptionv3googlenetresnet などのサポート パッケージ関数として使用可能な事前学習済みネットワークでは、たとえば、mynet = googlenet を記述してそのサポート パッケージ関数を直接指定できます。

次に、エントリポイント関数のコードを生成します。次に例を示します。

cfg = coder.gpuConfig('mex');
cfg.TargetLang = 'C++';
cfg.DeepLearningConfig = coder.DeepLearningConfig('cudnn'); 
codegen -args {ones(224,224,3,'single')} -config cfg myNet_predict

cnncodegen を使用してコードを生成する場合、MATLAB® ワークスペースにネットワーク オブジェクトを読み込みます。次に、そのオブジェクトを cnncodegen に渡します。次に例を示します。

net = squeezenet;
cnncodegen(net,'targetlib','cudnn');

参考

| | | (Computer Vision Toolbox) | (Computer Vision Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox) | (Deep Learning Toolbox)

関連するトピック