Tensorflow-slim 은 기존의 tensorflow를 보다 사용하기 쉽게 만들어 놓은 high-level API 이다.
오리지널 텐서플로우가 사용하기에 간단하지많은 않았던 만큼
API로 만들어 놓은 slim은 상대적으로 사용하기 쉬운 편이다.
다음에 사용 할 때를 대비하여 사용법을 정리 해 두자.
====================================================
우선 예제 실행 방법부터 확인.
1. tensorflow-model을 다운로드
$ mkdir tfslim
$ cd tfslim
$ git clone https://github.com/tensorflow/models/
slim은 tfslim/models/research/slim 에 위치해 있다 ( 2017. 12. 06 기준)
2. 데이터 셋을 다운로드
기본적으로 flowers / mnist / cifar10 / imagenet 의 네가지 데이터셋에 대한 코드가 포함되어 있다.
가장 데이터가 적은 flowers set에 대하여 예제를 진행
$ python download_and_convert_data.py \
--dataset_name=flowers \
--dataset_dir=./datasets/flowers
위 명령어를 수행하면 datasets 폴더에 tfrecord 파일과 label 파일이 생성된다
tfrecord 파일은 tensorflow에서 학습을 위해 사용하는 포멧이고 변환 되기 전 원본 영상을 보고싶으면
datasets/download_and_convert_flowers.py 파일 하단에 있는
_clean_up_temporary_files(dataset_dir) 이 부분을 주석처리 해 주면 된다.
3. architecture 선택하기
기본적으로 inception / resnet / vgg / alexnet 등 유명한 구조와 그 시리즈들이 포함되어 있다.
원하는 architecture를 선택
4. training
학습은 train_image_classifier.py 파일을 통해 시작하며 해당 파일 안에 다양한 Flag가 선언되어 있으니
확인 해 볼 것. 코드상에서 필요한 부분 수정하거나 옵션으로 추가 해 주고 아래 코드를 통해 학습 시작
$ python train_image_classifier.py \
--train_dir=./output/flowers_train_result \
--dataset_name=flowers \
--dataset_split_name=train \
--dataset_dir=./datasets/flowers \
--batch_size=50 \
--model_name=inception_v1 \
--max_number_of_steps=5000 # 1epoch = 50 step(2500장) / 총 100 epoch 학습
5. evaluation
eval_image_classifier.py 파일을 이용해 학습 된 모델의 성능을 확인 해 볼 수 있다.
$ python eval_image_classifier.py \
--alsologtostderr \
--checkpoint_path=./output/flowers_train_result \
--dataset_dir=./datasets/flowers \
--dataset_name=flowers \
--dataset_split_name=validation \
--model_name=inception_v1
참고 : https://github.com/tensorflow/models/blob/master/research/slim/README.md
'전공관련 > Deep Learning' 카테고리의 다른 글
[TensorFlow] Slim을 써보자 - custom architecture를 만들자 (0) | 2017.12.06 |
---|---|
[TensorFlow] Slim을 써보자 - custom dataset을 만들자 (0) | 2017.12.06 |
YOLO 를 이용하여 custom detector를 학습하는 방법 (0) | 2017.11.14 |
[Caffe] Faster R-CNN을 학습하던 중 발생한 문제 및 해결 (0) | 2017.03.21 |
[Caffe] Faster R-CNN을 이용하기. 환경설정. 셋팅 (object detection) (2) | 2017.03.17 |