5장. 컴퓨터 비전 딥러닝

5장에서는 CNN을 다룹니다. 다음과 같은 예제를 다룹니다.

  • CNN 강아지/고양이 분류
  • VGG16 고급 네트워크 활용
  • VGG16 전이학습
  • VGG16 전이학습 속대 개선 기법

5장의 예제를 CPU로 테스트 할 경우 1시간 이상이 소요 됩니다.

CNN을 이용한 MNIST 인식

  • Notebook: /Chapter05/Understanding_Convolutions_and_building_an_MNIST_image_classifier_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

train_losses , train_accuracy = [],[]
val_losses , val_accuracy = [],[]
for epoch in range(1,20):
    epoch_loss, epoch_accuracy = fit(epoch,model,train_loader,phase='training')
    val_epoch_loss , val_epoch_accuracy = fit(epoch,model,test_loader,phase='validation')
    train_losses.append(epoch_loss)
    train_accuracy.append(epoch_accuracy)
    val_losses.append(val_epoch_loss)
    val_accuracy.append(val_epoch_accuracy)

실행 로그는 다음과 같습니다.

training loss is  0.61 and training accuracy is 48681/60000      81.14
validation loss is  0.15 and validation accuracy is 9549/10000      95.49
training loss is  0.21 and training accuracy is 56377/60000      93.96
validation loss is 0.093 and validation accuracy is 9702/10000      97.02
training loss is  0.16 and training accuracy is 57206/60000      95.34
validation loss is 0.076 and validation accuracy is 9758/10000      97.58
training loss is  0.13 and training accuracy is 57636/60000      96.06
validation loss is 0.072 and validation accuracy is 9773/10000      97.73
training loss is  0.12 and training accuracy is 57902/60000       96.5
validation loss is 0.058 and validation accuracy is 9806/10000      98.06
training loss is  0.11 and training accuracy is 58119/60000      96.86
validation loss is 0.056 and validation accuracy is 9798/10000      97.98
training loss is 0.096 and training accuracy is 58269/60000      97.11
validation loss is 0.046 and validation accuracy is 9848/10000      98.48
training loss is 0.089 and training accuracy is 58395/60000      97.33
validation loss is 0.045 and validation accuracy is 9856/10000      98.56
training loss is 0.086 and training accuracy is 58441/60000       97.4
validation loss is 0.039 and validation accuracy is 9863/10000      98.63
training loss is 0.079 and training accuracy is 58551/60000      97.58
validation loss is 0.039 and validation accuracy is 9876/10000      98.76
training loss is 0.076 and training accuracy is 58647/60000      97.75
validation loss is 0.038 and validation accuracy is 9875/10000      98.75
training loss is 0.074 and training accuracy is 58703/60000      97.84
validation loss is 0.033 and validation accuracy is 9891/10000      98.91
training loss is  0.07 and training accuracy is 58778/60000      97.96
validation loss is 0.032 and validation accuracy is 9891/10000      98.91
training loss is 0.066 and training accuracy is 58811/60000      98.02
validation loss is 0.032 and validation accuracy is 9892/10000      98.92
training loss is 0.064 and training accuracy is 58834/60000      98.06
validation loss is 0.033 and validation accuracy is 9883/10000      98.83
training loss is 0.062 and training accuracy is 58890/60000      98.15
validation loss is 0.032 and validation accuracy is 9893/10000      98.93
training loss is 0.064 and training accuracy is 58876/60000      98.13
validation loss is 0.032 and validation accuracy is 9898/10000      98.98
training loss is 0.059 and training accuracy is 58945/60000      98.24
validation loss is 0.027 and validation accuracy is 9911/10000      99.11
training loss is 0.058 and training accuracy is 58951/60000      98.25
validation loss is 0.028 and validation accuracy is 9910/10000       99.1

실행 시간

  • macOS: 21min 23s
  • ubuntu with GPU(1080):

CNN 강아지 고양이 분류

  • Notebook: /Chapter05/ImageClassificationDogsandCats_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

실행 시간

  • ubuntu with GPU(1080): 10min 15s

Modern 네트워크 활용

VGG 전이 학습

  • Notebook: /Chapter05/ImageClassificationDogsandCats_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

실행 시간

  • ubuntu with GPU(1080): 10min 15s

VGG 전이학습 - Dropout 적용

  • Notebook: /Chapter05/ImageClassificationDogsandCats_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

실행 시간

  • ubuntu with GPU(1080): 4min 30s

VGG 전이학습 - 데이터 증식

  • Notebook: /Chapter05/ImageClassificationDogsandCats_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

실행 시간

  • ubuntu with GPU(1080): 3min 50s

사전 계산된 컨볼루션 피처(Preconvoluted Feature)

  • Notebook: /Chapter05/ImageClassificationDogsandCats_completed.ipynb

코드 및 실행 로그는 다음과 같습니다.

실행 시간

  • ubuntu with GPU(1080): 3min 8s
Last updated on 27 Dec 2017 / Published on 27 Dec 2017
김태완 avatar
작성자: 김태완
1999년 부터 Java, Framework, Middleware, SOA, DB Replication, Cache, CEP, NoSQL, Big Data, Cloud를 키워드로 살아왔습니다. 현재는 빅데이터와 Machine Learning을 중점에 두고 있습니다.
E-mail: taewanme@gmail.com

Powered by http://taewan.kim