이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
dlnetwork
객체를 사용하여 예측하기
이 예제에서는 미니 배치를 순회하는 방식으로 dlnetwork
객체를 사용하여 예측을 수행하는 방법을 보여줍니다.
대규모 데이터 세트의 경우 또는 메모리가 제한된 하드웨어에서 예측을 수행할 때에는, minibatchpredict
함수를 사용해서 데이터의 미니 배치를 순회하며 예측을 수행하십시오.
dlnetwork
객체 불러오기
훈련된 dlnetwork
객체와 해당 클래스 이름을 작업 공간에 불러옵니다. 신경망은 하나의 입력값과 두 개의 출력값을 가집니다. 이 신경망은 손으로 쓴 숫자의 영상을 입력값으로 받고 숫자 레이블과 회전 각도를 예측합니다.
load dlnetDigits
예측할 데이터 불러오기
예측하려는 숫자 테스트 데이터를 불러옵니다.
load DigitsDataTest
클래스 이름을 확인합니다.
classNames
classNames = 10×1 cell
{'0'}
{'1'}
{'2'}
{'3'}
{'4'}
{'5'}
{'6'}
{'7'}
{'8'}
{'9'}
몇몇 영상을 해당 레이블 및 회전 각도와 함께 표시합니다.
numObservations = size(XTest,4); numPlots = 9; idx = randperm(numObservations,numPlots); figure for i = 1:numPlots nexttile(i) I = XTest(:,:,:,idx(i)); label = labelsTest(idx(i)); imshow(I) title("Label: " + string(label) + newline + "Angle: " + anglesTest(idx(i))) end
예측 수행하기
minibatchpredict
함수를 사용하여 예측을 수행하고 scores2label
함수를 사용하여 분류 점수를 레이블로 변환합니다. 기본적으로 minibatchpredict
함수는 GPU를 사용할 수 있으면 GPU를 사용합니다. GPU를 사용하려면 Parallel Computing Toolbox™ 라이선스와 지원되는 GPU 장치가 필요합니다. 지원되는 장치에 대한 자세한 내용은 GPU 연산 요구 사항 (Parallel Computing Toolbox) 항목을 참조하십시오. GPU를 사용할 수 없는 경우, 함수는 CPU를 사용합니다. 실행 환경을 수동으로 선택하려면 minibatchpredict
함수의 ExecutionEnvironment
인수를 사용하십시오.
[scoresTest,Y2Test] = minibatchpredict(net,XTest); Y1Test = scores2label(scoresTest,classNames);
예측 결과를 일부 시각화합니다.
idx = randperm(numObservations,numPlots); figure for i = 1:numPlots nexttile(i) I = XTest(:,:,:,idx(i)); label = Y1Test(idx(i)); imshow(I) title("Label: " + string(label) + newline + "Angle: " + Y2Test(idx(i))) end
참고 항목
dlarray
| dlnetwork
| predict
| minibatchqueue
| onehotdecode
도움말 항목
- 생성적 적대 신경망(GAN) 훈련시키기
- 사용자 지정 훈련 루프를 사용하여 신경망 훈련시키기
- Define Model Loss Function for Custom Training Loop
- Update Batch Normalization Statistics in Custom Training Loop
- 사용자 지정 훈련 루프, 손실 함수 및 신경망 정의
- Make Predictions Using Model Function
- Specify Training Options in Custom Training Loop
- 딥러닝 계층 목록
- 딥러닝 팁과 요령
- Automatic Differentiation Background