딥러닝 프레임워크
딥러닝 모델을 만들고, 학습시키고, 사용하는 데 필요한 도구 모음이라고 생각하면됨.
Caffe
의 핵심: .prototxt
, .caffemodel
.prototxt
역할: 신경망의 설계도
또는 구조
를 정의하는 텍스트 파일
내용: 신경망이 어떤 계층(layer)들로 구성되어 있는지, 각 계층이 어떻게 연결되어 있는지, 필터 크기는 얼마인지 등의 구조적 정보가 들어있다. 사람이 읽고 이해할 수 있는 텍스트 형식이다.
.caffemodel
역할: 위 설계도에 따라 학습된 가중치(weights)
데이터가 담겨있는 이진 파일이다.
내용: 수많은 이미지 데이터로 학습을 마친 후, 각 신경망 연결의 중요도를 나타내는 숫자 값들이 저장되어 있다.
이 파일이 바로 모델의 지식
에 해당하는 부분이다.
.prototxt
파일은 텅 빈 뇌 구조이고, .caffemodel
파일은 그 뇌에 학습을 통해 채워진 지식과 경험이라고 할 수 있다.
GoogleNet
과 같은 이미지 분류 모델은 학습에 사용된 수많은 클래스에 각각 번호를 붙여 구분한다.
번호
를 알려준다.프레임을 읽어온다.
그러면 프레임이 하나의 이미지가 된다.
이 후 이미지와 동일하게 전처리하여 blob
으로 만든다.
blob
을 모델에게 넘겨서 추론을 실행한다.
⚠️ blob 이란?
딥러닝 모델이 이해할 수 있는 표준화된 형식으로 이미지를 담은 4차원 행렬이다.
표준 규격에 맞게 포장한 데이터 덩어리라고 생각하면 된다.
객체 탐지 모델
을 사용해야함