Main Content

sequenceFoldingLayer

(권장되지 않음) 시퀀스 접기 계층

SequenceFoldingLayer 객체는 권장되지 않습니다. dlnetwork 객체로 지정된 신경망은 대개 시퀀스 접기 및 펼치기 계층이 필요하지 않습니다. 대부분의 경우 딥러닝 계층은 접기 계층이나 펼치기 계층이 없을 때 동일하게 동작합니다. 그렇지 않은 경우에는 SequenceFoldingLayer 객체를 사용하여 다운스트림 계층의 데이터 차원을 조작하는 대신 데이터에서 직접 연산을 수행하는 사용자 지정 계층인 functionLayer 계층 객체를 정의하십시오. 자세한 내용은 버전 내역을 참조하십시오.

설명

시퀀스 접기 계층은 영상 시퀀스 배치를 영상 배치로 변환합니다. 영상 시퀀스의 시간 스텝에 대해 독립적으로 컨벌루션 연산을 수행하려는 경우 시퀀스 접기 계층을 사용하십시오.

시퀀스 접기 계층을 사용하려면 miniBatchSize 출력값을 대응되는 시퀀스 펼치기 계층의 miniBatchSize 입력값에 연결해야 합니다.

생성

설명

layer = sequenceFoldingLayer는 시퀀스 접기 계층을 만듭니다.

예제

layer = sequenceFoldingLayer('Name',Name)은 시퀀스 접기 계층을 만들고 이름-값 쌍을 사용하여 선택적 속성인 Name을 설정합니다. 예를 들어, sequenceFoldingLayer('Name','fold1')은 이름이 'fold1'인 시퀀스 접기 계층을 만듭니다. 속성 이름을 작은따옴표로 묶습니다.

속성

모두 확장

계층 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. Layer 배열 입력값에 대해 trainNetwork 함수는 이름이 ""인 계층에 자동으로 이름을 할당합니다.

SequenceFoldingLayer 객체는 이 속성을 문자형 벡터로 저장합니다.

데이터형: char | string

계층에 대한 입력값의 개수로, 1로 반환됩니다. 이 계층은 단일 입력값만 받습니다.

데이터형: double

입력값 이름으로, {'in'}으로 반환됩니다. 이 계층은 단일 입력값만 받습니다.

데이터형: cell

계층의 출력값 개수.

이 계층은 다음 두 개의 출력값을 갖습니다.

  • 'out' – 형태가 변경된 입력값에 해당하는 출력 특징 맵.

  • 'miniBatchSize' – 계층에 전달된 미니 배치의 크기. 이 출력값은 대응되는 시퀀스 펼치기 계층의 'miniBatchSize' 입력값에 연결되어야 합니다.

데이터형: double

계층의 출력값 이름.

이 계층은 다음 두 개의 출력값을 갖습니다.

  • 'out' – 형태가 변경된 입력값에 해당하는 출력 특징 맵.

  • 'miniBatchSize' – 계층에 전달된 미니 배치의 크기. 이 출력값은 대응되는 시퀀스 펼치기 계층의 'miniBatchSize' 입력값에 연결되어야 합니다.

데이터형: cell

예제

모두 축소

시퀀스 접기 계층을 만듭니다.

이름이 'fold1'인 시퀀스 접기 계층을 만듭니다.

layer = sequenceFoldingLayer('Name','fold1')
layer = 
  SequenceFoldingLayer with properties:

           Name: 'fold1'
     NumOutputs: 2
    OutputNames: {'out'  'miniBatchSize'}

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.

버전 내역

R2019a에 개발됨

모두 축소

R2024a: 권장되지 않음

R2024a부터 DAGNetwork 객체와 SeriesNetwork 객체는 권장되지 않습니다. 대신 dlnetwork 객체를 사용하십시오. 이 권장 사항은 SequenceFoldingLayer 객체도 권장되지 않음을 의미합니다. dlnetwork 객체로 지정된 신경망은 대개 시퀀스 접기 및 펼치기 계층이 필요하지 않습니다. 대부분의 경우 딥러닝 계층은 접기 계층이나 펼치기 계층이 없을 때 동일하게 동작합니다. 그렇지 않은 경우에는 SequenceFoldingLayer 객체를 사용하여 다운스트림 계층의 데이터 차원을 조작하는 대신 데이터에서 직접 연산을 수행하는 사용자 지정 계층인 functionLayer 계층 객체를 정의하십시오. 사용자 지정 계층에 대한 자세한 내용은 사용자 지정 딥러닝 계층 정의하기 항목을 참조하십시오.

DAGNetwork 객체, SeriesNetwork 객체, SequenceFoldingLayer 객체에 대한 지원을 제거할 계획은 없습니다. 하지만 다음과 같은 이점이 있는 dlnetwork 객체가 대신 권장됩니다.

  • dlnetwork 객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.

  • dlnetwork 객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.

  • dlnetwork 객체는 trainnet 함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.

  • 일반적으로 dlnetwork 객체를 사용한 훈련과 예측이 LayerGraphtrainNetwork를 사용하는 워크플로보다 더 빠릅니다.

훈련된 DAGNetwork 또는 SeriesNetwork 객체를 dlnetwork 객체로 변환하려면 dag2dlnetwork 함수를 사용하십시오.