가장 general 한 방법들이 많이 추가 된 곳이 https://github.com/kevinlin311tw/caffe-augmentation 여기인데 Train phase 만, Image Data Type만 지원합니다. 제 PC 환경에서는 Image Data Type 과 LMDB 로 Train 하는것은.. 약 3배 정도 차이납니다.
그래서 Data Augmentaion 을 추가로 만들어 보았습니다. https://github.com/ttagu99/caffe/tree/windows
DATA AUGUMENTATION 을 추가합니다. 사용은 아래의 예처럼 쓰면되는데, 주의 할 점은 기존에는 crop_size에 값을 입력할 경우, ramdomly crop을 하게 되는데 변경된 코드에서는 crop_offset_rand를 true로 해줘야 합니다.
- layer {
- name: "train-data"
- type: "Data"
- top: "data"
- top: "label"
- include {
- phase: TRAIN
- }
- transform_param {
- mirror: true
- flip_hor: true
- crop_size: 300
- crop_offset_rand: true
- mean_file: "CAR_DISTANCE/train.binaryproto"
- contrast_adjustment: true
- smooth_filtering: true
- jpeg_compression: true
- rotation_angle_interval: 0
- display: false
- }
- data_param {
- source: "CAR_DISTANCE/Train_out/"
- batch_size: 10
- backend: LMDB
- }
- }
- layer {
- name: "val-data"
- type: "Data"
- top: "data"
- top: "label"
- include {
- phase: TEST
- }
- transform_param {
- mirror: true
- flip_hor: true
- crop_size: 300
- crop_offset_rand: true
- mean_file: "CAR_DISTANCE/validation.binaryproto"
- contrast_adjustment: true
- smooth_filtering: true
- jpeg_compression: true
- rotation_angle_interval: 0
- display: false
- }
- data_param {
- source: "CAR_DISTANCE/Validation_out/"
- batch_size: 10
- backend: LMDB
- }
- }
lmdb type 및 image data tpye 모두 가능합니다. train phase, test phase 모두 가능합니다. @kevinlin311tw/caffe-augmentation 를 기반으로 만들었습니다. Thank you for your inspiration!
글 잘보았습니다. 이미 컴파일된 caffe에다가 적용하려면 어떻게(컴파일)하면 되는지 알려주실수 있으세요?
답글삭제다른 코드로 이미 컴파일 된것이라면 안되구요. git에서 코드 받은 다음 컴파일 하시거나, augmentation 부분만 업데이트하고 컴파일 하시거나 해야합니다.
삭제