Caffe Tutorial : 5.Layer Catalogue (Kor) [5.1.1] - ys7yoo/BrainCaffe GitHub Wiki

이미지데이터 계층(ImageData Layer)

  • 계층 타입: ImageData
  • Doxygen 자료
  • 헤더: ./include/caffe/layers/image_data_layer.hpp
  • CPU 구현: ./src/caffe/layers/image_data_layer.cpp

파라미터(Parameters)

파라미터(ImageDataParameter image_data_parameter)

  • 요구사항
  • 파일 위치(source): 이미지 파일이름과 라벨을 제시해주는 각 라인을 담고있는 문서파일의 이름
  • 일회처리량(batch_size): 함깨 한번에 처리할 이미지의 수
  • 추가사항
  • rand_skip
  • shuffle [미입력시 false]
  • new_height, new_width: 만약 설정한다면, 모든 파일을 입력한 크기로 재조정한다.

./src/caffe/proto/caffe.proto에서는 :

message ImageDataParameter {
  // 데이터 위치 명시
  optional string source = 1;
  // 일회 처리 사이즈 명시
  optional uint32 batch_size = 4 [기본값 = 1];
  // rand_skip 변수는 같은 지점에서 시작하는 모든 비동기 sgd를 피하기 위한 
  // 약간의 데이터 지점을 생략하려는 데이터 계층을 위한것이다.
  // 생략지점은 rand_skip * rand(0,1)로 설정 되어진다. rand_skip는 데이터베이스 내의 
  // 중요한 숫자(keys number)보다 더 커서는 않된다는 점을 알아야한다.
  optional uint32 rand_skip = 7 [기본값 = 0];
  // 원하든 원치않든 ImageLayer는 모든 반복주기에서 파일들의 리스트들은 섞여져야만 한다.
  optional bool shuffle = 8 [기본값 = false];
  // new_height 혹은 new_width이 0이 아니라면 이미지를 재조정한다.
  optional uint32 new_height = 9 [기본값 = 0];
  optional uint32 new_width = 10 [기본값 = 0];
  // 이미지가 색이 있는지 흑백인지 명시하라.
  optional bool is_color = 11 [기본값 = true];
  // 중요도가 떨어져 더이상 사용하지 않는다. TransformationParameter를 보아라. 
  // 데이터 전처리에 있어, 만약 입력한다면 우리는 간단한 데이터 평균 뺄셈 및 스케일링을 할 수 있다. F
  // 평균 뺄셈은 항상 스케일링 전에 수행되어야만 한다는 것을 알아라.
  optional float scale = 2 [기본값 = 1];
  optional string mean_file = 3;
  // 중요도가 떨어져 더이상 사용하지 않는다. TransformationParameter를 보아라.
  // 임의로 이미지를 크롭핑 하기를 원하는지 아닌지를 명시하라
  optional uint32 crop_size = 5 [기본값 = 0];
  // 중요도가 떨어져 더이상 사용하지 않는다. TransformationParameter를 보아라.
  // 우리가 임의로 데이터를 미러링하기를 원하는지 아닌지를 명시하라.
  optional bool mirror = 6 [기본값 = false];
  optional string root_folder = 12 [기본값 = ""];
}
본문으로 돌아가기