이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

importCaffeNetwork

Caffe에서 사전 훈련된 컨벌루션 신경망 모델 가져오기

구문

net = importCaffeNetwork(protofile,datafile)
net = importCaffeNetwork(___,Name,Value)

설명

예제

net = importCaffeNetwork(protofile,datafile)은 Caffe [1]에서 사전 훈련된 네트워크를 SeriesNetwork 객체로 가져옵니다. 이 함수는 protofile(.prototxt 파일)로 지정된 아키텍처와 datafile(.caffemodel 파일)로 지정된 네트워크 가중치를 갖는 사전 훈련된 네트워크를 반환합니다.

이 함수를 사용하려면 Deep Learning Toolbox™ Importer for Caffe Models 지원 패키지가 필요합니다. 이 지원 패키지가 설치되어 있지 않으면 함수에서 다운로드 링크를 제공합니다.

Caffe Model Zoo [2]에서 사전 훈련된 네트워크를 다운로드할 수 있습니다.

net = importCaffeNetwork(___,Name,Value)는 위에 열거된 구문과 함께 하나 이상의 Name,Value 쌍 인수로 지정된 추가 옵션을 사용하여 네트워크를 반환합니다.

예제

모두 축소

Deep Learning Toolbox Importer for Caffe Models 지원 패키지를 다운로드하고 설치합니다.

필요한 지원 패키지를 다운로드하려면 명령줄에 importCaffeNetwork를 입력하십시오.

importCaffeNetwork

Deep Learning Toolbox Importer for Caffe Models 지원 패키지가 설치되어 있지 않은 경우, 애드온 탐색기로 연결되는 지원 패키지 링크를 함수에서 제공합니다. 지원 패키지를 설치하려면 링크를 클릭한 다음 설치를 클릭하십시오.

가져올 파일을 지정합니다.

protofile = 'digitsnet.prototxt';
datafile = 'digits_iter_10000.caffemodel';

네트워크를 가져옵니다.

net = importCaffeNetwork(protofile,datafile)
net = 
  SeriesNetwork with properties:

    Layers: [7×1 nnet.cnn.layer.Layer]

입력 인수

모두 축소

네트워크 아키텍처를 포함하는 .prototxt 파일의 파일 이름으로, 문자형 벡터로 지정됩니다. protofile은 현재 폴더 또는 MATLAB® 경로에 있는 폴더에 있어야 합니다. 또는 파일에 대한 전체 경로 또는 상대 경로를 포함해야 합니다.

.prototxt 파일이 입력 데이터의 크기를 지정하지 않는 경우, sz 입력 인수를 사용하여 직접 크기를 지정해야 합니다.

importCaffeNetwork는 다음과 같은 유형의 Caffe 계층을 가진 시리즈 네트워크만 가져올 수 있습니다.

  • 입력

  • 데이터

  • 컨벌루션

  • ReLU

  • LRN(국소 응답 정규화)

  • 풀링

  • 내적

  • 드롭아웃

  • 손실 적용 소프트맥스

  • 유클리드 손실

네트워크에 그 밖의 다른 유형의 계층이 포함된 경우, 오류가 반환됩니다.

이 함수는 protofile이 include-phase TEST로 지정하는 계층만 가져옵니다. 이 함수는 protofile이 include-phase TRAIN으로 지정하는 계층은 모두 무시합니다.

솔버 정의는 가져올 수 없습니다.

예: 'digitsnet.prototxt'

데이터형: char

네트워크 가중치를 포함하는 .caffemodel 파일의 파일 이름으로, 문자형 벡터로 지정됩니다. datafile은 현재 폴더 또는 MATLAB 경로에 있는 폴더에 있어야 합니다. 또는 파일에 대한 전체 경로 또는 상대 경로를 포함해야 합니다. 네트워크 계층을 가중치 없이 가져오려면 importCaffeLayers를 참조하십시오.

예: 'digits_iter_10000.caffemodel'

데이터형: char

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: importCaffeNetwork(protofile,datafile,'AverageImage',I,'ClassNames',{'A','B','C'})는 0이 중심이 되는 정규화를 위한 평균 이미지로 I를 사용하여 사전 훈련된 네트워크를 가져오고, 클래스 이름을 'A', 'B''C'로 지정합니다.

입력 데이터의 크기로, 행 벡터로 지정됩니다. 입력 데이터의 높이, 너비, 채널 개수에 해당하는 두세 개의 정수 값으로 구성된 벡터, 즉 [h,w] 또는 [h,w,c]를 지정합니다. .prototxt 파일이 입력 데이터의 크기를 지정하지 않는 경우, 직접 입력 크기를 지정해야 합니다.

예: [28 28 1]

데이터형: double

0이 중심이 되는 정규화를 위한 평균 이미지로, 행렬로 지정됩니다. 이미지를 지정하는 경우, 입력 데이터와 크기가 같은 이미지를 지정해야 합니다. 이미지를 지정하지 않은 경우, .prototxt 파일에 지정된 데이터가 있으면 이 데이터가 사용됩니다. 이 데이터가 없으면 함수는 네트워크의 이미지 입력 계층의 Normalization 속성을 'none'으로 설정합니다.

데이터형: single

출력 계층의 클래스로, categorical형 벡터, string형 배열, 문자형 벡터로 구성된 셀형 배열 또는 'auto'로 지정됩니다. string형 배열 또는 문자형 벡터로 구성된 셀형 배열 str을 지정하면, 출력 계층의 클래스가 categorical(str,str)로 설정됩니다. Classes'auto'인 경우, 함수는 클래스를 categorical(1:N)으로 설정합니다. 여기서 N은 클래스의 개수입니다.

데이터형: char | categorical | string | cell

출력 인수

모두 축소

가져온 사전 훈련된 Caffe 네트워크로, SeriesNetwork 객체로 반환됩니다. 트루컬러 이미지를 분류하는 Caffe 네트워크에는 BGR 이미지를 입력값으로 제공해야 합니다. 이미지 입력 계층을 MATLAB으로 가져온 후에는 이 계층에 RGB 이미지를 입력값으로 제공해야 합니다.

호환성 관련 고려 사항

모두 확장

R2018b부터 권장되지 않음

R2017a에 개발됨