Image Classifier
훈련된 딥러닝 신경망을 사용하여 데이터 분류

라이브러리:
Deep Learning Toolbox /
Deep Neural Networks
설명
Image Classifier 블록은 블록 파라미터를 통해 지정된 훈련된 신경망을 사용하여 입력값에 대한 데이터의 클래스 레이블을 예측합니다. 이 블록을 사용하면 MAT 파일 또는 MATLAB® 함수에서 사전 훈련된 신경망을 Simulink® 모델에 불러올 수 있습니다.
예제
GoogLeNet을 사용하여 Simulink에서 영상 분류하기
이 예제에서는 Image Classifier
블록을 사용하여 Simulink®에서 영상을 분류하는 방법을 보여줍니다. 예제에서는 사전 훈련된 심층 컨벌루션 신경망 GoogLeNet을 사용하여 분류를 수행합니다.
Classify ECG Signals in Simulink Using Deep Learning
Use wavelet transforms and a deep learning network within a Simulink (R) model to classify ECG signals. This example uses the pretrained convolutional neural network from the Classify Time Series Using Wavelet Analysis and Deep Learning example of the Wavelet Toolbox™ to classify ECG signals based on images from the CWT of the time series data. For information on training, see 웨이블릿 분석 및 딥러닝을 사용하여 시계열 분류하기 (Wavelet Toolbox).
제한 사항
Image Classifier 블록은 시퀀스 신경망과 다중 입력/다중 출력(MIMO) 신경망을 지원하지 않습니다.
Image Classifier 블록은 MAT 파일 기록을 지원하지 않습니다.
포트
입력
h×w×c×N 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수이고 N은 영상 개수입니다.
N×numFeatures
숫자형 배열로, 여기서 N은 관측값의 개수이고, numFeatures
는 입력 데이터의 특징의 개수입니다.
배열에 NaN
이 포함되어 있는 경우, 이 값이 신경망 끝까지 전파됩니다.
출력
최고 점수를 가진 예측 클래스 레이블로, 레이블로 구성된 N×1 열거형 벡터로 반환됩니다. 여기서 N은 관측값의 개수입니다.
예측 점수로, K×N 행렬로 반환됩니다. 여기서 K는 클래스의 개수이고 N은 관측값의 개수입니다.
예측 점수에 대한 레이블로, N×K 행렬로 반환됩니다. 여기서 N은 관측값의 개수이고 K는 클래스의 개수입니다.
파라미터
훈련된 신경망의 출처를 지정합니다. 다음 중 하나를 선택합니다.
MAT 파일에서 가져온 신경망
—dlnetwork
객체를 포함하는 MAT 파일에서 훈련된 신경망을 가져옵니다.MATLAB 함수에서 가져온 신경망
— MATLAB 함수에서 사전 훈련된 신경망을 가져옵니다. 예를 들어, 사전 훈련된 GoogLeNet을 사용하려면 함수pretrainedGoogLeNet
을 MATLAB M 파일로 만든 다음 이 함수를 가져옵니다.function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
프로그래밍 방식 사용
블록 파라미터: Network |
유형: 문자형 벡터, string형 |
값: 'Network from MAT file' | 'Network from MATLAB function' |
디폴트 값: 'Network from MAT file' |
이 파라미터는 불러올 훈련된 딥러닝 신경망을 포함하는 MAT 파일의 이름을 지정합니다. 파일이 MATLAB 경로에 있지 않으면 찾아보기 버튼을 사용하여 파일을 찾습니다.
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망
으로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: NetworkFilePath |
유형: 문자형 벡터, string형 |
값: MAT 파일 경로 또는 이름 |
디폴트 값: 'untitled.mat'
|
이 파라미터는 사전 훈련된 딥러닝 신경망의 MATLAB 함수 이름을 지정합니다. 예를 들어, 사전 훈련된 GoogLeNet을 사용하려면 함수 pretrainedGoogLeNet
을 MATLAB M 파일로 만든 다음 이 함수를 가져옵니다.
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MATLAB 함수에서 가져온 신경망
으로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: NetworkFunction |
유형: 문자형 벡터, string형 |
값: MATLAB 함수 이름 |
디폴트 값: 'squeezenet' |
예측에 사용할 미니 배치의 크기로, 양의 정수로 지정됩니다. 미니 배치가 클수록 메모리가 더 많이 필요하지만 예측 속도는 빨라질 수 있습니다.
프로그래밍 방식 사용
블록 파라미터: MiniBatchSize |
유형: 문자형 벡터, string형 |
값: 양의 정수 |
디폴트 값: '128' |
입력 포트의 데이터 크기를 신경망의 입력 크기에 맞게 조정합니다.
프로그래밍 방식 사용
블록 파라미터: ResizeInput |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
최고 점수를 가진 레이블을 출력하는 출력 포트 ypred
를 활성화합니다.
프로그래밍 방식 사용
블록 파라미터: Classification |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
모든 예측 점수와 관련 클래스 레이블을 출력하는 출력 포트 scores
및 labels
를 활성화합니다.
프로그래밍 방식 사용
블록 파라미터: Predictions |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'off' |
클래스 이름을 포함하는 변수로, categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
신경망의 출력 크기는 클래스 개수와 일치해야 합니다.
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망
으로 설정하여 MAT 파일에서 훈련된 dlnetwork
객체를 가져오십시오.
프로그래밍 방식 사용
블록 파라미터: classNames |
유형: categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열의 변수 이름. |
값: 클래스 이름을 포함하는 변수의 이름으로, categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. |
디폴트 값: 작업 공간 변수 classNames . |
팁
Intel® MKL-DNN 라이브러리를 활용하여 코드를 생성해서 시뮬레이션을 가속화할 수 있습니다. 자세한 내용은 Acceleration for Simulink Deep Learning Models 항목을 참조하십시오.
확장 기능
사용법 관련 참고 및 제한 사항:
타사 라이브러리를 사용하지 않는 제네릭 C 코드를 생성하려면 구성 파라미터 > 코드 생성 일반 범주에서 언어 파라미터를
C
로 설정하십시오.C++ 코드를 생성하려면 구성 파라미터 > 코드 생성 일반 범주에서 언어 파라미터를
C++
로 설정하십시오. 코드 생성을 위한 타깃 라이브러리를 지정하려면 코드 생성 > 인터페이스 범주에서 타깃 라이브러리 파라미터를 설정하십시오. 이 파라미터를없음
으로 설정하면 타사 라이브러리를 사용하지 않는 제네릭 C++ 코드를 생성합니다.코드 생성을 지원하는 신경망과 계층 목록은 Networks and Layers Supported for Code Generation (MATLAB Coder) 항목을 참조하십시오.
사용법 관련 참고 및 제한 사항:
구성 파라미터 > 코드 생성 일반 범주의 언어 파라미터는
C++
로 설정해야 합니다.CUDA® 코드 생성을 지원하는 신경망과 계층 목록은 지원되는 신경망, 계층 및 클래스 (GPU Coder) 항목을 참조하십시오.
Image Classifier 블록을 포함하는 Simulink 모델의 코드 생성에 대한 자세한 내용은 Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder) 항목을 참조하십시오.
버전 내역
R2020b에 개발됨R2024a부터 SeriesNetwork
객체와 DAGNetwork
객체는 권장되지 않습니다. 이 권장 사항은 Image Classifier 블록에 대해 SeriesNetwork
및 DAGNetwork
입력을 사용하는 것을 권장하지 않는다는 의미입니다. 대신 dlnetwork
객체를 사용하십시오. dlnetwork
객체는 다음과 같은 이점이 있습니다.
dlnetwork
객체는 신경망 구축, 예측, 기본 제공 훈련, 시각화, 압축, 검증 및 사용자 지정 훈련 루프를 지원하는 통합 데이터형입니다.dlnetwork
객체는 외부 플랫폼에서 만들거나 가져올 수 있는 더 넓은 범위의 신경망 아키텍처를 지원합니다.dlnetwork
객체는trainnet
함수에서 지원되기 때문에 손실 함수를 쉽게 지정할 수 있습니다. 내장 손실 함수 중에서 선택하거나 사용자 지정 손실 함수를 지정할 수 있습니다.일반적으로
dlnetwork
객체를 사용한 훈련과 예측이LayerGraph
와trainNetwork
를 사용하는 워크플로보다 더 빠릅니다.
dlnetwork
객체가 포함된 Simulink 블록 모델은 다르게 동작합니다. 예측 점수는 K×N 행렬로 반환됩니다. 여기서 K는 클래스의 개수이고 N은 관측값의 개수입니다. SeriesNetwork
또는 DAGNetwork
객체가 포함된 기존 Simulink 블록 모델이 있다면 다음 단계에 따라 dlnetwork
객체를 대신 사용하십시오.
dag2dlnetwork
함수를 사용하여SeriesNetwork
또는DAGNetwork
객체를dlnetwork
로 변환합니다.블록 파라미터 클래스 이름 작업 공간 변수에 대응하는 신경망 출력값의 클래스 이름을 포함하는 작업 공간 변수를 정의합니다.
Transpose 블록을 사용하여 예측 점수를 N×K 배열로 전치합니다. 여기서 N은 관측값의 개수이고 K는 클래스의 개수입니다.
참고 항목
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- 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)