resetState
신경망의 상태 파라미터 재설정
설명
은 신경망의 상태 파라미터를 재설정합니다. 이 함수를 사용하여 순환 신경망(예: LSTM 신경망)의 상태를 재설정하십시오.netUpdated
= resetState(net
)
예제
신경망 상태 재설정하기
시퀀스 예측마다 신경망 상태를 재설정합니다.
사전 훈련된 장단기 기억(LSTM) 신경망 dlnetJapaneseVowels
를 불러옵니다. 이것은 [1]과 [2]에서 설명한 Japanese Vowels 데이터 세트에서 훈련된 신경망입니다. 이 신경망은 미니 배치 크기 27을 가지며 시퀀스 길이를 기준으로 정렬된 시퀀스에서 훈련되었습니다.
load dlnetJapaneseVowels
신경망 아키텍처를 표시합니다.
net.Layers
ans = 4x1 Layer array with layers: 1 'sequenceinput' Sequence Input Sequence input with 12 dimensions 2 'lstm' LSTM LSTM with 100 hidden units 3 'fc' Fully Connected 9 fully connected layer 4 'softmax' Softmax softmax
테스트 데이터를 불러옵니다.
load JapaneseVowelsTestData
시퀀스를 분류하고 신경망 상태를 업데이트합니다.
X = XTest{94};
[scores,state] = predict(net,X,InputDataFormats="CT");
net.State = state;
label = scores2label(scores,classNames)
label = categorical
3
업데이트된 신경망을 사용하여 다른 시퀀스를 분류합니다.
X = XTest{1};
scores = predict(net,X,InputDataFormats="CT");
label = scores2label(scores,classNames)
label = categorical
7
최종 예측과 참 레이블을 비교합니다.
trueLabel = TTest(1)
trueLabel = categorical
1
신경망의 업데이트된 상태가 분류에 부정적인 영향을 주었을 수 있습니다. 신경망 상태를 재설정하고 시퀀스에 대해 예측을 다시 수행합니다.
net = resetState(net);
scores = predict(net,X,InputDataFormats="CT");
label = scores2label(scores,classNames)
label = categorical
1
입력 인수
net
— 신경망
dlnetwork
객체
신경망으로, dlnetwork
객체로 지정됩니다.
resetState
함수는 net
에 상태 파라미터가 있는 경우에만 유효합니다(예: LSTM 계층과 같은 순환 계층을 하나 이상 포함하는 신경망). 입력 신경망에 상태 파라미터가 없으면 함수는 영향을 미치지 않으며 입력 신경망을 반환합니다.
출력 인수
참고 문헌
[1] M. Kudo, J. Toyama, and M. Shimbo. "Multidimensional Curve Classification Using Passing-Through Regions." Pattern Recognition Letters. Vol. 20, No. 11–13, pages 1103–1111.
[2] UCI Machine Learning Repository: Japanese Vowels Dataset. https://archive.ics.uci.edu/ml/datasets/Japanese+Vowels
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
Intel® MKL-DNN 타깃에 대한 코드 생성 시
'SequenceLength','longest'
,'SequencePaddingDirection','left'
및'SequencePaddingValue',0
이름-값 인수의 조합은 지원되지 않습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
resetState
함수에 대한 GPU 코드 생성은 cuDNN 및 TensorRT 라이브러리가 타깃인 순환 신경망에만 지원됩니다.
버전 내역
R2017b에 개발됨R2024a: DAGNetwork
객체와 SeriesNetwork
객체는 권장되지 않음
R2024a부터 DAGNetwork
객체와 SeriesNetwork
객체는 권장되지 않습니다. 대신 dlnetwork
객체를 사용하십시오. 이 권장 사항은 resetState
함수에 대해 DAGNetwork
, SeriesNetwork
입력값을 사용하는 것도 권장되지 않는다는 의미입니다.
DAGNetwork
객체와 SeriesNetwork
객체에 대한 지원을 제거할 계획은 없습니다. 하지만 다음과 같은 이점이 있는 dlnetwork
객체가 대신 권장됩니다.
dlnetwork
객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.dlnetwork
객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.dlnetwork
객체는trainnet
함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.일반적으로
dlnetwork
객체를 사용한 훈련과 예측이LayerGraph
와trainNetwork
를 사용하는 워크플로보다 더 빠릅니다.
훈련된 DAGNetwork
또는 SeriesNetwork
객체를 dlnetwork
객체로 변환하려면 dag2dlnetwork
함수를 사용하십시오.
resetState
함수는 dlnetwork
객체를 지원하고 동일하게 동작합니다.
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)