メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

addLayers

ニューラル ネットワークへの層の追加

説明

netUpdated = addLayers(net,layers) は、layers 内のネットワーク層を dlnetwork オブジェクト net に追加します。更新されたネットワーク netUpdated には、net の層および結合と共に、順に結合された layers の層が含まれます。layers に含まれる層の名前は一意でなければならず、空であってはならず、net に含まれる層の名前とは異なっていなければなりません。

すべて折りたたむ

空のニューラル ネットワーク、および層の配列を作成します。関数 addLayers は層を直列に結合します。

net = dlnetwork;

layers = [
    imageInputLayer([32 32 3])  
    convolution2dLayer(3,16,Padding="same")
    batchNormalizationLayer
    reluLayer];

net = addLayers(net,layers);

ニューラル ネットワークをプロットで表示します。

figure
plot(net)

Figure contains an axes object. The axes object contains an object of type graphplot.

入力として与えられた 2 次元イメージの categorical ラベルと数値を両方予測する 2 出力ニューラル ネットワークを定義します。

クラスと応答の数を指定します。

numClasses = 10;
numResponses = 1;

空のニューラル ネットワークを作成します。

net = dlnetwork;

ネットワークの主分岐の層、およびソフトマックス出力を定義します。

layers = [
    imageInputLayer([28 28 1],Normalization="none")

    convolution2dLayer(5,16,Padding="same")
    batchNormalizationLayer
    reluLayer(Name="relu_1")

    convolution2dLayer(3,32,Padding="same",Stride=2)
    batchNormalizationLayer
    reluLayer
    convolution2dLayer(3,32,Padding="same")
    batchNormalizationLayer
    reluLayer

    additionLayer(2,Name="add")

    fullyConnectedLayer(numClasses)
    softmaxLayer(Name="softmax")];

net = addLayers(net,layers);

スキップ接続を追加します。

layers = [
    convolution2dLayer(1,32,Stride=2,Name="conv_skip")
    batchNormalizationLayer
    reluLayer(Name="relu_skip")];

net = addLayers(net,layers);
net = connectLayers(net,"relu_1","conv_skip");
net = connectLayers(net,"relu_skip","add/in2");

回帰出力用に全結合層を追加します。

layers = fullyConnectedLayer(numResponses,Name="fc_2");
net = addLayers(net,layers);
net = connectLayers(net,"add","fc_2");

ニューラル ネットワークをプロットで表示します。

figure
plot(net)

Figure contains an axes object. The axes object contains an object of type graphplot.

入力引数

すべて折りたたむ

ニューラル ネットワーク。dlnetwork オブジェクトとして指定します。

ネットワーク層。Layer 配列として指定します。

組み込み層の一覧については、深層学習層の一覧を参照してください。

出力引数

すべて折りたたむ

更新されたネットワーク。未初期化の dlnetwork オブジェクトとして返されます。

dlnetwork オブジェクトの学習可能なパラメーターを初期化するには、関数 initialize を使用します。

関数 addLayers は量子化情報を保持しません。入力ネットワークが量子化されたネットワークであった場合でも、出力ネットワークに量子化情報は含まれません。

バージョン履歴

R2017b で導入

すべて展開する