Main Content

addLayers

신경망에 계층 추가하기

설명

예제

netUpdated = addLayers(net,layers)layers의 신경망 계층을 dlnetwork 객체 net에 추가합니다. 업데이트된 신경망 netUpdated는 순차적으로 연결된 layers의 계층과 함께 net의 계층과 연결을 포함합니다. 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)

입력 인수

모두 축소

신경망으로, dlnetwork 객체로 지정됩니다.

신경망 계층으로, Layer 배열로 지정됩니다.

내장 계층 목록은 딥러닝 계층 목록 항목을 참조하십시오.

출력 인수

모두 축소

업데이트된 신경망으로, 초기화되지 않은 dlnetwork 객체로 반환됩니다.

dlnetwork 객체의 학습 가능한 파라미터를 초기화하려면 initialize 함수를 사용하십시오.

addLayers 함수는 양자화 정보를 유지하지 않습니다. 입력 신경망이 양자화된 신경망인 경우 출력 신경망은 양자화 정보를 포함하지 않습니다.

버전 내역

R2017b에 개발됨

모두 확장