getLayer
説明
例
シンプルなネットワーク アーキテクチャを定義し、そのネットワークをプロットに表示します。
net = dlnetwork;
layers = [
imageInputLayer([28 28])
convolution2dLayer(3,16,Padding="same")
reluLayer
fullyConnectedLayer(10)
softmaxLayer];
net = addLayers(net,layers);
figure
plot(net)
畳み込み層を名前で参照します。その後、getLayer
関数を使用して層を編集し、置き換えることができます。
convLayer = getLayer(net,"conv")
convLayer = Convolution2DLayer with properties: Name: 'conv' Hyperparameters FilterSize: [3 3] NumChannels: 'auto' NumFilters: 16 Stride: [1 1] DilationFactor: [1 1] PaddingMode: 'same' PaddingSize: [] PaddingValue: 0 Learnable Parameters Weights: [] Bias: [] Show all properties
層のインデックスがわかっている場合は、代わりにインデックスで参照することもできます。
convLayer = net.Layers(2);
複数のネットワーク層を含むネットワーク アーキテクチャを定義します。
net = dlnetwork;
layers = [lstmLayer(100,OutputMode="sequence")
dropoutLayer(0.2)];
lstmDropoutLayer = networkLayer(layers);
layers = [sequenceInputLayer(3)
lstmDropoutLayer
lstmDropoutLayer
fullyConnectedLayer(10)
softmaxLayer];
net = addLayers(net,layers);
ネットワークをプロットします。
figure plot(net)
層へのパスを指定して最初の LSTM 層を参照します。このパスには、ネットワーク層の名前 ("subnet_1"
) および LSTM 層の名前 ("lstm"
) をスラッシュで区切って含めます。このパスを使用することで、複数のネットワーク層から成る階層内で入れ子になった層を参照することができます。
tempLSTMLayer = getLayer(net,"subnet_1/lstm");
層のプロパティを編集し、元の層を変更後の層に置き換えます。
tempLSTMLayer.InputWeightsInitializer = "zeros"; tempLSTMLayer.RecurrentWeightsInitializer = "zeros"; tempLSTMLayer.BiasInitializer = "ones"; tempLSTMLayer.Name = "modifiedLSTM";
ネットワーク、置き換える層へのパス、および変更後の層を指定して、元の層を変更後の層に置き換えます。
net = replaceLayer(net,"subnet_1/lstm",tempLSTMLayer);
入力引数
ニューラル ネットワーク。dlnetwork
オブジェクトとして指定します。
参照する層の名前。文字ベクトルまたは string スカラーとして指定します。
例: "conv1"
データ型: char
| string
入れ子層へのパス。文字ベクトルまたは string スカラーとして指定します。
networkLayer
内の層については、layerPath
を次のように指定します。
ネットワーク層の名前と入れ子層の名前は、スラッシュ
"/"
で区切ります。たとえば、"networkLayerName"
という名前のネットワーク層にある"nestedLayerName"
という名前の層へのパスは、"networkLayerName/nestedLayerName"
となります。入れ子層のレベルが複数ある場合は、networkLayerName1/.../networkLayerNameN/nestedLayerName
の形式でパスを指定します。
カスタム層は、dlnetwork
を学習可能なプロパティまたは状態プロパティとしてもつことができます。カスタム層のプロパティに含まれる dlnetwork
の層については、layerPath
を次のように指定します。
カスタム層の名前、
dlnetwork
プロパティの名前、および入れ子層の名前は、スラッシュ"/"
で区切ります。たとえば、"customLayerName"
という名前のカスタム層の"propertyName"
という名前のdlnetwork
プロパティ内にある"layerName"
という名前の層へのパスは、"customLayerName/propertyName/layerName"
となります。入れ子層のレベルが複数ある場合は、"customLayerName1/propertyName1/.../customLayerNameN/propertyNameN/layerName"
の形式でパスを指定します。
データ型: char
| string
バージョン履歴
R2024a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)