concatenationLayer
결합 계층
설명
결합 계층은 입력값을 받아서 지정된 차원을 따라 결합합니다. 입력값은 결합 차원을 제외한 모든 차원에서 크기가 동일해야 합니다.
계층을 만들 때 계층의 입력값의 개수를 지정합니다. 입력값은 'in1','in2',...,'inN'
과 같은 이름을 갖습니다. 여기서 N
은 입력값의 개수입니다. 입력값 이름은 connectLayers
또는 disconnectLayers
를 사용하여 계층을 연결하거나 연결을 끊을 때 사용합니다.
생성
속성
결합
Dim
— 결합 차원
양의 정수
결합 차원으로, 양의 정수로 지정됩니다. 계층은 채널 및 공간 차원에 대해서만 결합을 지원합니다.
예: 4
계층
NumInputs
— 입력값의 개수
양의 정수
계층에 대한 입력값의 개수로, 2보다 크거나 같은 양의 정수로 지정됩니다.
입력값은 'in1','in2',...,'inN'
과 같은 이름을 갖습니다. 여기서 N
은 NumInputs
입니다. 예를 들어 NumInputs
가 3인 경우, 입력값은 'in1','in2'
, 'in3'
이라는 이름을 갖습니다. 입력값 이름은 connectLayers
함수 또는 disconnectLayers
함수를 사용하여 계층을 연결하거나 연결을 끊을 때 사용합니다.
InputNames
— 입력값 이름
{'in1','in2',…,'inN'}
(디폴트 값)
입력값 이름으로, {'in1','in2',...,'inN'}
으로 지정됩니다. 여기서 N
은 계층의 입력값 개수입니다.
데이터형: cell
NumOutputs
— 출력값 개수
1
(디폴트 값)
읽기 전용 속성입니다.
계층의 출력값 개수로, 1
로 반환됩니다. 이 계층은 단일 출력값만 가집니다.
데이터형: double
OutputNames
— 출력값 이름
{'out'}
(디폴트 값)
읽기 전용 속성입니다.
출력값 이름으로, {'out'}
으로 반환됩니다. 이 계층은 단일 출력값만 가집니다.
데이터형: cell
예제
결합 계층을 만들고 연결하기
네 번째(채널) 차원을 따라 두 개의 입력값을 결합하는 결합 계층을 만듭니다. 결합 계층의 이름을 'concat'
로 지정합니다.
concat = concatenationLayer(4,2,'Name','concat')
concat = ConcatenationLayer with properties: Name: 'concat' Dim: 4 NumInputs: 2 InputNames: {'in1' 'in2'}
2개의 ReLU 계층을 만들어서 결합 계층에 연결합니다. 결합 계층은 ReLU 계층의 출력값을 결합합니다.
relu_1 = reluLayer('Name','relu_1'); relu_2 = reluLayer('Name','relu_2'); net = dlnetwork; net = addLayers(net, relu_1); net = addLayers(net, relu_2); net = addLayers(net, concat); net = connectLayers(net, 'relu_1', 'concat/in1'); net = connectLayers(net, 'relu_2', 'concat/in2'); plot(net)
알고리즘
계층 입력 형식 및 출력 형식
계층 배열 또는 계층 그래프의 계층은 뒤에 오는 계층에 데이터를 전달할 때 형식이 지정된 dlarray
객체로 전달합니다. dlarray
객체의 형식은 문자들로 구성된 문자열로, 각 문자는 데이터의 대응되는 차원을 설명합니다. 형식은 다음 문자 중 하나 이상으로 구성됩니다.
"S"
— 공간"C"
— 채널"B"
— 배치"T"
— 시간"U"
— 지정되지 않음
4차원 배열로 표현되는 2차원 영상 데이터를 예로 들면 처음 2개 차원은 영상의 공간 차원, 3번째 차원은 영상의 채널, 4번째 차원은 배치 차원에 대응되며, "SSCB"
(공간, 공간, 채널, 배치) 형식으로 설명될 수 있습니다.
functionLayer
객체를 사용하여 사용자 지정 계층을 개발하거나, dlnetwork
객체에 forward
및 predict
함수를 사용하는 경우와 같은 자동 미분 워크플로에서 이러한 dlarray
객체와 상호 작용할 수 있습니다.
이 표는 ConcatenationLayer
객체의 지원되는 입력 형식과 그에 대응되는 출력 형식을 보여줍니다. 계층의 출력이 nnet.layer.Formattable
클래스를 상속하지 않는 사용자 지정 계층에 전달되거나 Formattable
속성을 0
(false
)으로 설정한 FunctionLayer
객체에 전달될 경우 이 계층은 이 표에 나와 있는 형식에 따라 순서가 지정된 차원을 갖는, 형식이 지정되지 않은 dlarray
객체를 수신합니다. 여기에 나와 있는 형식은 일부에 불과합니다. 계층은 다른 형식도 지원할 수 있습니다(예: 추가적인 "S"
(공간) 또는 "U"
(미지정) 차원을 갖는 형식).
계층은 "S"
(공간) 및 "C"
(채널) 차원에 대해서만 결합을 지원합니다. 출력 형식은 입력 형식과 일치합니다. 각 입력값은 동일한 형식의 데이터를 가져야 합니다.
입력 형식 | 출력 형식 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dlnetwork
객체에서 ConcatenationLayer
객체는 다음 입력 형식과 출력 형식의 결합도 지원합니다.
입력 형식 | 출력 형식 |
---|---|
|
|
|
|
|
|
|
|
복소수
ConcatenationLayer
객체는 복소수 값 입력과 출력을 지원합니다. (R2024a 이후) 계층은 기본 연산을 실수 값 입력에서와 동일하게 복소수 값 입력에 적용하며 가능한 경우 복소수 값 데이터를 출력합니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
버전 내역
R2019a에 개발됨R2024a: 복소수 값의 입력과 출력을 지원함
ConcatenationLayer
객체는 복소수 값 입력과 출력을 지원합니다. 계층은 기본 연산을 실수 값 입력에서와 동일하게 복소수 값 입력에 적용하며 가능한 경우 복소수 값 데이터를 출력합니다.
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)