connectLayers
신경망에서 계층 연결하기
설명
는 netUpdated
= connectLayers(net
,s
,d
)dlnetwork
객체 net
에서 소스 계층 s
를 대상 계층 d
에 연결합니다. 업데이트된 신경망 netUpdated
는 net
과 동일한 계층을 포함하며 새 연결도 포함합니다.
예제
덧셈 계층을 만들고 연결하기
빈 신경망 dlnetwork
객체를 만들고 입력값이 2개이고 이름이 'add'
인 덧셈 계층을 추가합니다.
net = dlnetwork; layer = additionLayer(2,'Name','add'); net = addLayers(net,layer);
신경망에 2개의 ReLU 계층을 추가하고 덧셈 계층에 연결합니다. 덧셈 계층은 ReLU 계층의 출력값의 합을 출력합니다.
layer = reluLayer('Name','relu1'); net = addLayers(net,layer); net = connectLayers(net,'relu1','add/in1'); layer = reluLayer('Name','relu2'); net = addLayers(net,layer); net = connectLayers(net,'relu2','add/in2');
업데이트된 신경망을 플롯으로 시각화합니다.
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)
입력 인수
net
— 신경망
dlnetwork
객체
신경망으로, dlnetwork
객체로 지정됩니다.
s
— 연결 소스
string형 스칼라 | 문자형 벡터
연결 소스로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.
소스 계층이 1개의 출력값을 갖는 경우,
s
는 계층의 이름입니다.소스 계층이 여러 개의 출력값을 갖는 경우,
s
는"layerName/outputName"
과 같이 계층 이름과 문자"/"
와 계층 출력값이 결합된 형태의 이름입니다.
예: "conv"
예: "mpool/indices"
d
— 연결 대상
string형 스칼라 | 문자형 벡터
연결 대상으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.
대상 계층이 1개의 입력값을 갖는 경우,
d
는 계층의 이름입니다.대상 계층이 여러 개의 입력값을 갖는 경우,
d
는"layerName/inputName"
과 같이 계층 이름과 문자"/"
와 계층 입력값이 결합된 형태의 이름입니다.
예: "fc"
예: "add/in1"
출력 인수
netUpdated
— 업데이트된 신경망
dlnetwork
객체
업데이트된 신경망으로, 초기화되지 않은 dlnetwork
객체로 반환됩니다.
dlnetwork
객체의 학습 가능한 파라미터를 초기화하려면 initialize
함수를 사용하십시오.
connectLayers
함수는 양자화 정보를 유지하지 않습니다. 입력 신경망이 양자화된 신경망인 경우 출력 신경망은 양자화 정보를 포함하지 않습니다.
버전 내역
R2017b에 개발됨R2024a: LayerGraph
객체는 권장되지 않음
R2024a부터 LayerGraph
객체는 권장되지 않습니다. 대신 dlnetwork
객체를 사용하십시오. 이 권장 사항은 다음 구문이 LayerGraph
입력값에 권장되지 않음을 의미합니다.
lgraphUpdated = connectLayers(lgraph,s,d)
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 명령 창에 입력하십시오. 웹 브라우저는 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)