Image Classifier
![](block_icon_image_classifier.png)
라이브러리:
Deep Learning Toolbox /
Deep Neural Networks
설명
Image Classifier 블록은 블록 파라미터를 통해 지정된 훈련된 신경망을 사용하여 입력값에 대한 데이터의 클래스 레이블을 예측합니다. 이 블록을 사용하면 MAT 파일 또는 MATLAB® 함수에서 사전 훈련된 신경망을 Simulink® 모델에 불러올 수 있습니다.
예제
제한 사항
Image Classifier 블록은 시퀀스 신경망과 다중 입력/다중 출력(MIMO) 신경망을 지원하지 않습니다.
Image Classifier 블록은 MAT 파일 기록을 지원하지 않습니다.
포트
입력
image — 영상 데이터 또는 특징 데이터
숫자형 배열
h×w×c×N 숫자형 배열로, 여기서 h, w, c는 각각 영상의 높이, 너비, 채널 개수이고 N은 영상 개수입니다.
N×numFeatures
숫자형 배열로, 여기서 N은 관측값의 개수이고, numFeatures
는 입력 데이터의 특징의 개수입니다.
배열에 NaN
이 포함되어 있는 경우, 이 값이 신경망 끝까지 전파됩니다.
출력
ypred — 예측 클래스 레이블
열거형
최고 점수를 가진 예측 클래스 레이블로, 레이블로 구성된 N×1 열거형 벡터로 반환됩니다. 여기서 N은 관측값의 개수입니다.
scores — 예측 클래스 점수
행렬
예측 점수로, K×N 행렬로 반환됩니다. 여기서 K는 클래스의 개수이고 N은 관측값의 개수입니다.
labels — 예측 점수에 대한 클래스 레이블
행렬
예측 점수에 대한 레이블로, N×K 행렬로 반환됩니다. 여기서 N은 관측값의 개수이고 K는 클래스의 개수입니다.
파라미터
신경망 — 훈련된 신경망의 출처
MAT 파일에서 가져온 신경망
(디폴트 값) | MATLAB 함수에서 가져온 신경망
훈련된 신경망의 출처를 지정합니다. 다음 중 하나를 선택합니다.
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 파일
untitled.mat
(디폴트 값) | MAT 파일 경로 또는 이름
이 파라미터는 불러올 훈련된 딥러닝 신경망을 포함하는 MAT 파일의 이름을 지정합니다. 파일이 MATLAB 경로에 있지 않으면 찾아보기 버튼을 사용하여 파일을 찾습니다.
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망
으로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: NetworkFilePath |
유형: 문자형 벡터, string형 |
값: MAT 파일 경로 또는 이름 |
디폴트 값: 'untitled.mat' |
MATLAB 함수 — MATLAB 함수 이름
squeezenet
(디폴트 값) | MATLAB 함수 이름
이 파라미터는 사전 훈련된 딥러닝 신경망의 MATLAB 함수 이름을 지정합니다. 예를 들어, 사전 훈련된 GoogLeNet을 사용하려면 함수 pretrainedGoogLeNet
을 MATLAB M 파일로 만든 다음 이 함수를 가져옵니다.
function net = pretrainedGoogLeNet net = imagePretrainedNetwork("googlenet"); end
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MATLAB 함수에서 가져온 신경망
으로 설정하십시오.
프로그래밍 방식 사용
블록 파라미터: NetworkFunction |
유형: 문자형 벡터, string형 |
값: MATLAB 함수 이름 |
디폴트 값: 'squeezenet' |
미니 배치 크기 — 미니 배치의 크기
128 (디폴트 값) | 양의 정수
예측에 사용할 미니 배치의 크기로, 양의 정수로 지정됩니다. 미니 배치가 클수록 메모리가 더 많이 필요하지만 예측 속도는 빨라질 수 있습니다.
프로그래밍 방식 사용
블록 파라미터: MiniBatchSize |
유형: 문자형 벡터, string형 |
값: 양의 정수 |
디폴트 값: '128' |
입력 크기 조정 — 입력 차원 크기 조정
on
(디폴트 값) | off
입력 포트의 데이터 크기를 신경망의 입력 크기에 맞게 조정합니다.
프로그래밍 방식 사용
블록 파라미터: ResizeInput |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
분류 — 최고 점수를 가진 예측된 레이블 출력값
on
(디폴트 값) | off
최고 점수를 가진 레이블을 출력하는 출력 포트 ypred
를 활성화합니다.
프로그래밍 방식 사용
블록 파라미터: Classification |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'on' |
예측 — 모든 점수와 관련 레이블 출력
off
(디폴트 값) | on
모든 예측 점수와 관련 클래스 레이블을 출력하는 출력 포트 scores
및 labels
를 활성화합니다.
프로그래밍 방식 사용
블록 파라미터: Predictions |
유형: 문자형 벡터, string형 |
값: 'off' | 'on' |
디폴트 값: 'off' |
클래스 이름 작업 공간 변수 — 신경망 출력값의 클래스 이름이 포함된 작업 공간 변수
classNames
(디폴트 값) | categorical형 벡터 변수 | string형 배열 변수 | 문자형 벡터로 구성된 셀형 배열 변수 이름
클래스 이름을 포함하는 변수로, categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다.
신경망의 출력 크기는 클래스 개수와 일치해야 합니다.
종속 관계
이 파라미터를 활성화하려면 신경망 파라미터를 MAT 파일에서 가져온 신경망
으로 설정하여 MAT 파일에서 훈련된 dlnetwork
객체를 가져오십시오.
프로그래밍 방식 사용
블록 파라미터: classNames |
유형: categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열의 변수 이름. |
값: 클래스 이름을 포함하는 변수의 이름으로, categorical형 벡터, string형 배열 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. |
디폴트 값: 작업 공간 변수 classNames . |
팁
Intel® MKL-DNN 라이브러리를 활용하여 코드를 생성해서 시뮬레이션을 가속화할 수 있습니다. 자세한 내용은 Acceleration for Simulink Deep Learning Models 항목을 참조하십시오.
확장 기능
C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
타사 라이브러리를 사용하지 않는 제네릭 C 코드를 생성하려면 구성 파라미터 > 코드 생성 일반 범주에서 언어 파라미터를
C
로 설정하십시오.C++ 코드를 생성하려면 구성 파라미터 > 코드 생성 일반 범주에서 언어 파라미터를
C++
로 설정하십시오. 코드 생성을 위한 타깃 라이브러리를 지정하려면 코드 생성 > 인터페이스 범주에서 타깃 라이브러리 파라미터를 설정하십시오. 이 파라미터를없음
으로 설정하면 타사 라이브러리를 사용하지 않는 제네릭 C++ 코드를 생성합니다.ERT 기반 타깃의 경우 코드 생성 > 인터페이스 창의 가변 크기 신호 지원 파라미터가 활성화되어야 합니다.
코드 생성을 지원하는 신경망과 계층 목록은 Networks and Layers Supported for Code Generation (MATLAB Coder) 항목을 참조하십시오.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
구성 파라미터 > 코드 생성 일반 범주의 언어 파라미터는
C++
로 설정해야 합니다.CUDA® 코드 생성을 지원하는 신경망과 계층 목록은 Supported Networks, Layers, and Classes (GPU Coder) 항목을 참조하십시오.
Image Classifier 블록을 포함하는 Simulink 모델의 코드 생성에 대한 자세한 내용은 Code Generation for a Deep Learning Simulink Model to Classify ECG Signals (GPU Coder) 항목을 참조하십시오.
버전 내역
R2020b에 개발됨R2024a: SeriesNetwork
와 DAGNetwork
는 권장되지 않음
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 명령
다음 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)