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)
ニューラル ネットワークのゼロからの作成
入力として与えられた 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)
入力引数
出力引数
netUpdated
— 更新されたネットワーク
dlnetwork
オブジェクト
更新されたネットワーク。未初期化の dlnetwork
オブジェクトとして返されます。
dlnetwork
オブジェクトの学習可能なパラメーターを初期化するには、関数 initialize
を使用します。
関数 addLayers
は量子化情報を保持しません。入力ネットワークが量子化されたネットワークであった場合でも、出力ネットワークに量子化情報は含まれません。
バージョン履歴
R2017b で導入R2024a: LayerGraph
オブジェクトは非推奨
R2024a 以降、LayerGraph
オブジェクトは非推奨となりました。代わりに、dlnetwork
オブジェクトを使用してください。この推奨により、、LayerGraph
を入力する次の構文も非推奨となります。
lgraphUpdated = addLayers(lgraph,layers)
LayerGraph
オブジェクトをサポートするほとんどの関数は、dlnetwork
オブジェクトもサポートします。LayerGraph
オブジェクトの代表的な使用法と、代わりにオブジェクト関数 dlnetwork
を使用するためのコードの更新方法を、次の表に示します。
非推奨 | 推奨 |
---|---|
lgraph = layerGraph; | net = dlnetwork; |
lgraph = layerGraph(layers); | net = dlnetwork(layers,Initialize=false); |
lgraph = layerGraph(net); | net = dag2dlnetwork(net); |
lgraph = addLayers(lgraph,layers); | net = addLayers(net,layers); |
lgraph = removeLayers(lgraph,layerNames); | net = removeLayers(net,layerNames); |
lgraph = replaceLayer(lgraph,layerName,layers); | net = replaceLayer(net,layerName,layers); |
lgraph = connectLayers(lgraph,s,d); | net = connectLayers(net,s,d); |
lgraph = disconnectLayers(lgraph,s,d); | net = disconnectLayers(net,s,d); |
plot(lgraph); | plot(net); |
dlnetwork
オブジェクトとして指定されたニューラル ネットワークに学習させるには、関数 trainnet
を使用します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)